|
本帖最后由 5isun 于 2017-10-12 06:17 编辑
在论坛搜索到,但不记得谁的帖子。
实现自动切换,首先,我们要让系统判断IPTV运行了,那么我们就要知道IPTV这个APP的ID值是多少:
1.测出IPTV的IPID:
mount -o rw,remount /system 回车,这个命令是挂在系统目录为读写
接着输入:vi /cache/backup/Test.sh 回车
按“i”键编辑文本,然后复制代码:
#!/system/bin/shcd
while [ 1 ]
do
appid=$check_app
check_app=$( dumpsys window w | grep -E com.zte.browser | grep / | busybox wc -l )
if [ "$check_app" != "$appid" ] ; then
echo "appid: $check_app"
fi
done
然后对着你的刚才编辑框,按鼠标右键,这样就全部复制到你需要编辑的文件里边了,按“ESC”键,接着输入“:wq”保存这个文件
接下来就回到命令提示符了,输入:
chmod 0755 /cache/backup/test.sh 回车,这里是把刚才的文件赋予读写权限
然后我们就运行这个文件,输入:
/cache/backup/test.sh 回车
接下来,机顶盒进入IPTV,看看显示的APPID是多少?找一个最小的值,我这里是8,记下来,后边的代码要用到,Ctrl+Z退出,然后重启。
2.创建自动转换脚本
输入以下的代码:
mount -o rw,remount /system 回车
vi /system/bin/netchang.sh 回车
接着按“i”键
复制以下代码:
#!/system/bin/sh
appid="8"
time_count=0
while [ 1 ]
do
time_count=`expr $time_count + 0.5`
check_app=$( dumpsys window w | grep -E com.zte.browser | grep / | busybox wc -l )
if [ "$check_app" -ge $appid ] ; then
ifconfig eth0:1 down
ifconfig eth0 up
fi
if [ "$check_app" -lt $appid ] ; then
ifconfig eth0:1 up
ifconfig eth0 down
fi
sleep 0.5
if [ $time_count -gt 181 ] ; then
exit 0
fi
done
然后按“ESC”键,输入“:wq”保存文件。
3.添加到自动运行脚本中
接着输入:chmod 0755 /system/bin/netchang.sh 回车
echo "/system/bin/netchang.sh &" >> /system/bin/init.zte.post_boot.sh 回车
reboot 回车
机顶盒系统自动判断,IPTV运行就关闭WIFI,打开有线连接;如果没有运行就关闭有线,打开WIFI,这里再次说一下,eth0:1 是无线网卡;eth0是有线网卡,你们也慢慢去读一下这些代码,其实很简单的,up就是打开;down就是关闭的意思。
使用情况:
机顶盒连接不变,也就是机顶盒网线连接光猫,WIFI连接路由器。先拔下网线,设置里打开WIFI连接,然后插上网线,关闭、打开机顶盒电源,机顶盒系统提示,没有联网,稍后系统自动进入当贝桌面,运行安装的软件,系统一切正常,按返回键退出到当贝桌面,打开IPTV,系统提示错误,稍等一会弹出IPTV,观看电视节目一切正常,按应用退到当贝桌面,反复测试一切正常。 |
上一篇: 辽宁大连联通B860AV1.1恢复出厂设置后进不去IPTV的解决方法下一篇: 中兴B860AV1.1连接EPG服务失败(代码1302)的解决办法
|