移动终端 2013 年 4 月 11 日

Android Tasker 判断手机流量是否打开

本文介绍如何通过对Tasker进行简单的Shell hacking,在Tasker中加入一个变量来判断手机的移动数据流量是否打开。虽然Tasker本身不支持这样的变量,但通过下载配置文件并在Tasker中导入,可以实现当手机流量连接时,变量为on,当手机流量未连接时,变量为off。本文还提供了一些注意事项,例如需要安装busybox可执行文件,并且在WIFI已连接时,手机流量的状态将一直为off。最后,作者展示了手机流量关闭和打开时的截图,并提醒读者此配置文件仅为一个demo,可以集成到应用中以在需要时打开或关闭手机流量。
在使用Tasker写一些基于网络的应用时,我们希望有一个变量来告诉我们手机的移动数据流量是否打开,但Tasker作者明确表示没有这样的变量,Tasker本身也并不支持判断手机流量是否打开。通过一些简单的Shell hacking,我们可以给Tasker加上这样一个变量。当手机流量连接时,这个变量为on,当手机流量未连接时,这个变量为off.
配置文件下载: mobile_data_status.tsk, 下载后在Tasker的Task标签导入。
提示:

1、本文的配置文件需要手机里有busybox可执行文件,如果你没有安装busybox,你可以 点此下载,下载后通过RE等工具放到/system/xbin目录并增加可执行权限。 2、在WIFI已连接时,手机流量的状态将一直为off,建议不明白原理的朋友首次测试时将WIFI关闭。 3、更准确地说,本文所说的状态是连接状态而不是开关状态。

手机流量关闭时:
mobile data off
手机流量打开时:
mobile data on
这里仅是一个demo,集成到应用中之后就可以通过判断全局变量MDATA的值在需要的时候打开或关闭手机流量了。