|
▌ 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
- adb connect 192.168.50.83 # 連接 IP 為 192.168.50.83 的電視盒子
- adb shell # 進入盒子 bash 環(huán)境
- # 輸入此命令,然后用遙控對準電視按想用的按鍵,bash 界面會出現(xiàn)此按鍵的 ID 識別碼,記下來。選兩個按鍵,一個用作 iptv,一個用作當貝桌面(或其他桌面)
- getevent -c 1 /dev/input/event0
復制代碼
15353689875337.jpg (37.92 KB, 下載次數(shù): 36)
下載附件
保存到相冊
2018-8-27 20:43 上傳
15353734928716.jpg (134.99 KB, 下載次數(shù): 33)
下載附件
保存到相冊
2018-8-27 20:44 上傳
1.2 獲取桌面名稱
把電視遙控到你想開啟的 IPTV 桌面界面,然后執(zhí)行如下命令:
- # 輸入命令,獲取當前桌面程序
- dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
復制代碼
可以參考下圖,我當前運行的是電視貓,u0 之后那部分便是我們要用的名稱
mCurrentFocus=Window{41b735d8 u0 com.moretv.android/com.moretv.module.lowmm.SingleActivity}
獲取當貝桌面同理。
15353707755604.jpg (62.92 KB, 下載次數(shù): 38)
下載附件
保存到相冊
2018-8-27 20:43 上傳
至此,拿到想用的兩個桌面名稱記下來。比如腳本中默認的,南京電信盒子默認桌面為 ihome,第三方為當貝桌面:
- com.ihome.android.launcher/com.ihome.android.launcher2.activity.MainActivity
- com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity
復制代碼
▌ 二、自定義腳本并上傳
腳本我放在 gist 上(歡迎 Star),同時提供目前測試穩(wěn)定版,供下載:
- [更新日志]
- 2018.08.27 | [!] am start 添加 -n 參數(shù),不再報 / 操作符錯誤
- 2018.08.27 | [+] 發(fā)布
復制代碼
下載后,用文本編輯器打開,可以看到開頭定義變量:
- boot='iptv' # iptv | dangbei
- code_iptv='0001 00fb 00000001'
- code_dangbei='0001 00ad 00000001'
- id_iptv='com.ihome.android.launcher/com.ihome.android.launcher2.activity.MainActivity'
- id_dangbei='com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity'
復制代碼
大家一看就明白了,把前文拿到的值填入即可:
boot 值決定開機進入哪個桌面。
code_iptv 值改為遙控器上想用作 iptv 桌面的鍵位值。
code_dangbei 值改為第三方桌面按鍵 ID 值
id_iptv 值為希望 code[/cur]iptv 這個按鍵要啟動的界面
id_dangbei 值為第三方桌面程序名。
▌ 三、上傳腳本
- # 掛載機頂盒
- adb remount
- # 上傳文件(假設本地腳本位置在 ~/Desktop/B860AV1.1-T/script/)
- adb push ~/Desktop/B860AV1.1-T/script/dtchange.sh /system/bin/
- # 設定可運行權限
- adb shell chmod 0755 /system/bin/dtchange.sh
復制代碼
一定要把 wifi 與有線開關都勾上。拿不到內網(wǎng)地址沒關系。
15353714385310.jpg (141.69 KB, 下載次數(shù): 39)
下載附件
保存到相冊
2018-8-27 20:43 上傳
- # 執(zhí)行一次,測試是否成功。
- adb shell sh /system/bin/dtchange.sh
- # 查看腳本進程,如果在運行,就可以去電視上測試了
- adb shell busybox pgrep -fl dtchange.sh
復制代碼
▌ 四、添加開機自啟、后臺白名單
第三部分測試沒問題了,就把咱們的 dtchange.sh 加入到開機自啟腳本就好了
- nohup /system/bin/dtchange.sh &> /cache/log/dtchange.log
復制代碼
假設機頂盒開機文件腳本在 /system/bin/init.zte.post_boot.sh 執(zhí)行以下命令即可- echo "nohup /system/bin/dtchange.sh &> /cache/log/dtchange.log" >> /system/bin/init.zte.post_boot.sh
復制代碼
無意間看到 /system/etc/BannedKillBackgroundProcessesWhiteList.ini 文件,看名字推測是系統(tǒng)后臺白名單,就刪掉沒用的程序,把我們的兩個桌面名稱加進入了。
15353744474933.jpg (55.31 KB, 下載次數(shù): 36)
下載附件
保存到相冊
2018-8-27 20:56 上傳
后臺常住才切換快么,省下著內存空間就得用在刀刃上。
至此,一個干凈、可控、雙桌面系統(tǒng)的機頂盒完成了。來張桌面截圖,完結此系列。
15353735966929.jpg (186.56 KB, 下載次數(shù): 35)
下載附件
保存到相冊
2018-8-27 20:44 上傳
End |
-
-
dtchange.sh.zip
2018-8-27 20:46 上傳
點擊文件名下載附件
下載積分: 金幣 -1
1.55 KB, 下載次數(shù): 404, 下載積分: 金幣 -1
評分
-
查看全部評分
上一篇: B860AV1.1-T 優(yōu)化第三彈:凍結無用軟件,控制程序自啟下一篇: 山東電信中興B860AV1.1升級最新系統(tǒng)后狂吃內存如何解決??
|