首頁 收藏 QQ群
 網(wǎng)站導航

ZNDS智能電視網(wǎng) 推薦當貝市場

TV應用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進階 / 社區(qū)互助

新手 | 你問我答 | 免費刷機救磚 | ROM固件

查看: 839826|回復: 649
上一主題 下一主題
[教程]

B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

  [復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2018-8-27 20:42 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式 | 來自江蘇
B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

本系列最后一彈,感謝各位壇友捧場。這一彈才是重頭戲,也許是當前全網(wǎng)體驗最優(yōu)、兼容最廣雙桌面、雙網(wǎng)切換方案,您試試就知道了。只要盒子有雙網(wǎng)卡,理論全部適用。

電信盒子本來只能看 ITV,我們獲取 ADB 權限后,就能看第三方軟件了。但 ITV 是內網(wǎng)與 Internet 分在不同 Vlan,可以認為分為兩個局域網(wǎng),不可互通。并且電信盒子開啟 Wifi 就拿不到內網(wǎng) IP,嘗試了很多方案如設置路由、自動切換 WIFI 與有線等,都不甚滿意。

最終,完成方案是通過兩個按鍵,分別設置為 IPTV 桌面、當貝桌面??梢砸绘I觸達任一桌面,同時進入 IPTV 桌面,自動將網(wǎng)絡切為 IPTV 內網(wǎng);進入當貝桌面,網(wǎng)絡為 Internet 網(wǎng)絡。

感謝壇友 NadOo,與 Github 用戶 Wyf841015 腳本啟發(fā)。

ZTE B860A 有線(itv) + wifi(互聯(lián)網(wǎng)) 雙線自動切換腳本
exitiptv

自己重新寫了一個腳本,本腳本優(yōu)點:
1、繞過 ITV 廣告,清爽啟動(快到有時開機連進度條都看不到)
2、可自定義開機進入 ITV 還是當貝桌面(請關閉當貝軟件里自啟,避免干擾)
3、一鍵觸達 ITV 或當貝桌面,就像添加了桌面 Home 鍵,再也不用不停按返回鍵了
4、切換網(wǎng)絡完全可控,避免自動腳本不識別某些內置 APP 頻繁切換問題
5、迅速,切桌面、切網(wǎng)進程無阻塞




一、確定要使用的按鍵、桌面

1.1 獲取按鍵 ID

用電腦 ADB 連接到機頂盒,并進入 adb shell
  1. adb connect 192.168.50.83 # 連接 IP 為 192.168.50.83 的電視盒子
  2. adb shell # 進入盒子 bash 環(huán)境

  3. # 輸入此命令,然后用遙控對準電視按想用的按鍵,bash 界面會出現(xiàn)此按鍵的 ID 識別碼,記下來。選兩個按鍵,一個用作 iptv,一個用作當貝桌面(或其他桌面)
  4. getevent -c 1 /dev/input/event0
復制代碼
B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

1.2 獲取桌面名稱

把電視遙控到你想開啟的 IPTV 桌面界面,然后執(zhí)行如下命令:
  1. # 輸入命令,獲取當前桌面程序
  2. dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
復制代碼

可以參考下圖,我當前運行的是電視貓,u0 之后那部分便是我們要用的名稱
mCurrentFocus=Window{41b735d8 u0 com.moretv.android/com.moretv.module.lowmm.SingleActivity}
獲取當貝桌面同理。

B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

至此,拿到想用的兩個桌面名稱記下來。比如腳本中默認的,南京電信盒子默認桌面為 ihome,第三方為當貝桌面:

  1. com.ihome.android.launcher/com.ihome.android.launcher2.activity.MainActivity

  2. com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity
復制代碼

二、自定義腳本并上傳

腳本我放在 gist 上(歡迎 Star),同時提供目前測試穩(wěn)定版,供下載:

在線地址:https://gist.github.com/boboidream/5ae1ec328e6623774411f80580fdc134
下載地址: dtchange-0.0.2.sh.zip (1.58 KB, 下載次數(shù): 513)

  1. [更新日志]
  2. 2018.08.27 | [!] am start 添加 -n 參數(shù),不再報 / 操作符錯誤
  3. 2018.08.27 | [+] 發(fā)布
復制代碼


下載后,用文本編輯器打開,可以看到開頭定義變量:

  1. boot='iptv' # iptv | dangbei
  2. code_iptv='0001 00fb 00000001'
  3. code_dangbei='0001 00ad 00000001'
  4. id_iptv='com.ihome.android.launcher/com.ihome.android.launcher2.activity.MainActivity'
  5. id_dangbei='com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity'
復制代碼

大家一看就明白了,把前文拿到的值填入即可:
boot 值決定開機進入哪個桌面。
code_iptv 值改為遙控器上想用作 iptv 桌面的鍵位值。
code_dangbei 值改為第三方桌面按鍵 ID 值
id_iptv 值為希望 code[/cur]iptv 這個按鍵要啟動的界面
id_dangbei 值為第三方桌面程序名。

三、上傳腳本

  1. # 掛載機頂盒
  2. adb remount

  3. # 上傳文件(假設本地腳本位置在 ~/Desktop/B860AV1.1-T/script/)
  4. adb push ~/Desktop/B860AV1.1-T/script/dtchange.sh /system/bin/

  5. # 設定可運行權限
  6. adb shell chmod 0755 /system/bin/dtchange.sh
復制代碼

一定要把 wifi 與有線開關都勾上。拿不到內網(wǎng)地址沒關系。
B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)
  1. # 執(zhí)行一次,測試是否成功。
  2. adb shell sh /system/bin/dtchange.sh

  3. # 查看腳本進程,如果在運行,就可以去電視上測試了
  4. adb shell busybox pgrep -fl dtchange.sh
復制代碼


四、添加開機自啟、后臺白名單

第三部分測試沒問題了,就把咱們的 dtchange.sh 加入到開機自啟腳本就好了
  1. nohup /system/bin/dtchange.sh &> /cache/log/dtchange.log
復制代碼

假設機頂盒開機文件腳本在 /system/bin/init.zte.post_boot.sh 執(zhí)行以下命令即可
  1. echo "nohup /system/bin/dtchange.sh &> /cache/log/dtchange.log" >> /system/bin/init.zte.post_boot.sh
復制代碼





無意間看到 /system/etc/BannedKillBackgroundProcessesWhiteList.ini 文件,看名字推測是系統(tǒng)后臺白名單,就刪掉沒用的程序,把我們的兩個桌面名稱加進入了。

B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

后臺常住才切換快么,省下著內存空間就得用在刀刃上。

至此,一個干凈、可控、雙桌面系統(tǒng)的機頂盒完成了。來張桌面截圖,完結此系列。

B860AV1.1-T 優(yōu)化第四彈:兩鍵切換 IPTV 與當貝桌面、雙網(wǎng)

End

dtchange.sh.zip

1.55 KB, 下載次數(shù): 404, 下載積分: 金幣 -1

評分

參與人數(shù) 4威望 +16 金幣 +30 Z幣 +6 收起 理由
guoyuh78 + 2 + 5 ZNDS論壇有你更精彩,一起愉快的搞機吧!.
cl312 + 2 + 5 雙網(wǎng)切換 是不是要單線復用 我的不能連WiFi.
eswgdeh + 6 + 10 + 3 ZNDS有你更精彩:)
hao501802766 + 6 + 10 + 3 ZNDS有你更精彩:)

查看全部評分


上一篇:B860AV1.1-T 優(yōu)化第三彈:凍結無用軟件,控制程序自啟
下一篇:山東電信中興B860AV1.1升級最新系統(tǒng)后狂吃內存如何解決??
推薦
發(fā)表于 2020-7-1 23:42 | 只看該作者 | 來自江蘇
nnnnnnnnnn
回復 支持 1 反對 0

使用道具 舉報

推薦
發(fā)表于 2018-8-31 10:23 | 只看該作者 | 來自江蘇
我試了一下,界面可以切換,但是網(wǎng)絡切換不過來。我的也是南京電信,盒子也一樣,但是我的軟件版本可能高一點,是2018-1-9的,有線和無線同時打開時,只有有線能連接,無線顯示未連接,所以也沒辦法調試。還有個問題,界面切換時,“信息”鍵原來的界面會先出來,然后再轉到當貝桌面的,應該怎么禁止“信息”鍵原來的界面出現(xiàn)?
另外,我是純小白,這句是什么意思?nohup /system/bin/dtchange.sh &> /cache/log/dtchange.log
回復 支持 0 反對 1

使用道具 舉報

推薦
 樓主| 發(fā)表于 2018-8-29 23:55 | 只看該作者 | 來自江蘇
朋有 發(fā)表于 2018-8-29 23:49
明天試試,謝謝啦,可行的話,樓主就可以寫1.1-T破解優(yōu)化 第五彈了

腳本是一定可以的,這是通用方案,不過覺得還是永久更改好些。

/system/etc/init.zte.post_boot.sh 腳本寫在這個自啟文件應該好些。

不寫了,哈哈,我也是小白一個。
回復 支持 1 反對 0

使用道具 舉報

推薦
 樓主| 發(fā)表于 2018-8-29 12:56 | 只看該作者 | 來自江蘇
本帖最后由 一肩月光 于 2018-8-30 10:11 編輯
hao501802766 發(fā)表于 2018-8-29 10:57
打開 解析錯誤,還得翻墻?

這都被墻了?

  1. #!/system/bin/sh

  2. #----------------------------------------
  3. # Author: boboidream
  4. # Email: me@wenboz.com
  5. # Version: 0.0.2
  6. # Date: 2018.08.27
  7. #----------------------------------------

  8. boot='iptv' # iptv | dangbei
  9. code_iptv='0001 00fb 00000001'
  10. code_dangbei='0001 00ad 00000001'
  11. id_iptv='com.ihome.android.launcher/com.ihome.android.launcher2.activity.MainActivity'
  12. id_dangbei='com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity'

  13. func_test() {
  14.     mount -o remount,rw /system
  15.    
  16.     local PN=`busybox basename $0`
  17.     local Pnum=`busybox pgrep -f $PN|busybox wc -l`
  18.    
  19.     if [ $Pnum -gt 1 ]; then
  20.         echo "dtchange.sh running"
  21.         exit 2
  22.     fi
  23. }

  24. func_init() {
  25.     if [ $boot = 'dangbei' ]; then
  26.         open_dangbei
  27.     else
  28.         local res1=`svc wifi disable`

  29.         while [ "$(getprop net.zte.eth.netstate)" != "CONNECTED" ]
  30.         do
  31.             sleep 0.5
  32.         done
  33.         
  34.         sleep 1 && am start -n $id_iptv
  35.     fi
  36. }

  37. open_iptv() {
  38.     local netstate=$(getprop net.zte.eth.netstate)
  39.    
  40.     am start -n $id_iptv &
  41.    
  42.     if [ "$netstate" != "CONNECTED" ]; then
  43.         local res1=`svc wifi disable`
  44.         #echo "$(date +%X) iptv_wifi_down: $res1"
  45.         local res2=`ifconfig eth0 up`
  46.         #echo "$(date +%X) iptv_eth0_up: $res2"
  47.     fi
  48. }

  49. open_dangbei() {
  50.     local netstate=$(getprop net.zte.wifi.netstate)
  51.    
  52.     am start -n $id_dangbei &
  53.    
  54.     if [ "$netstate" != "CONNECTED" ]; then
  55.         local res1=`ifconfig eth0 down`
  56.         #echo "$(date +%X) init_eth0_down: $res1"
  57.         local res2=`svc wifi enable`
  58.         #echo "$(date +%X) init_wifi_up: $res2"
  59.     fi
  60. }

  61. main() {
  62.     while [ 1 ]; do
  63.         local rm_code=$(getevent -c 1 /dev/input/event0)
  64.         
  65.         if [ "$rm_code" = "$code_iptv" ] ; then
  66.             open_iptv
  67.         fi
  68.         
  69.         if [ "$rm_code" = "$code_dangbei" ] ; then
  70.             open_dangbei
  71.         fi
  72.         
  73.         sleep 1
  74.     done
  75. }

  76. func_test
  77. func_init
  78. main

  79. # advice:  add com.dangbei.tvlauncher & com.ihome.android.launcher to
  80. # /system/etc/BannedKillBackgroundProcessesWhiteList.ini
  81. # keep desktop app run in background.
復制代碼

回復 支持 1 反對 0

使用道具 舉報

推薦
 樓主| 發(fā)表于 2018-8-28 21:29 | 只看該作者 | 來自江蘇
一肩月光 發(fā)表于 2018-8-27 21:03
版主敬業(yè)啊,贊贊贊~~~~~~

強烈建議各位壇友到:https://gist.github.com/boboidream/5ae1ec328e6623774411f80580fdc134 來下載腳本。

因為使用過程中,會不斷的改進,帖子每次修改提交都要審核,比較繁瑣,帖子里腳本就不再更新了。

現(xiàn)在 0.0.2 版,直接進入 iptv 可能由于啟動太快,有概率導致連開機驗證都一起跳過。我在 Gist 做了 Sleep 1s 調整,還在測試,希望能修復這問題。
回復 支持 1 反對 0

使用道具 舉報

7#
發(fā)表于 2018-8-27 20:48 | 只看該作者 | 來自江西
這個樓主不錯
回復 支持 反對

使用道具 舉報

8#
 樓主| 發(fā)表于 2018-8-27 21:02 | 只看該作者 | 來自江蘇

感謝捧場~~~
回復 支持 反對

使用道具 舉報

9#
 樓主| 發(fā)表于 2018-8-27 21:03 | 只看該作者 | 來自江蘇
自行車啊對 發(fā)表于 2018-8-27 20:48
可以可以,頂一下!

版主敬業(yè)啊,贊贊贊~~~~~~
回復 支持 反對

使用道具 舉報

10#
 樓主| 發(fā)表于 2018-8-27 21:03 | 只看該作者 | 來自江蘇
自行車啊對 發(fā)表于 2018-8-27 20:48
可以可以,頂一下!

版主敬業(yè)啊,贊贊贊~~~~~~
回復 支持 反對

使用道具 舉報

11#
發(fā)表于 2018-8-27 21:19 | 只看該作者 | 來自江蘇
很詳細
回復 支持 反對

使用道具 舉報

12#
發(fā)表于 2018-8-27 23:12 | 只看該作者 | 來自廣東
看不懂。。
回復 支持 反對

使用道具 舉報

13#
發(fā)表于 2018-8-28 16:47 | 只看該作者 | 來自四川
牛X,佩服佩服?。?/td>
回復 支持 反對

使用道具 舉報

14#
發(fā)表于 2018-8-29 10:55 | 只看該作者 | 來自廣東
前排支持,加精!
回復 支持 反對

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡信息服務信用承諾書 | 增值電信業(yè)務經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2024-10-26 05:28 , Processed in 0.073520 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復 返回頂部 返回列表