我想知道是否有可能制作一个Android应用程序(不需要root),可以启用和禁用其他应用程序的移动数据使用?我知道有一个功能可以在原生Android设置中切换每个应用程序的后台服务,所以也许有一些公共方法可以让我使用自己的应用程序。
基本上,我希望我的应用控制其他应用是否可以通过移动数据或WiFi访问数据。
我也非常感谢指向正确的方向。
答案 0 :(得分:0)
理论上,是的。
这是svc
工具,可以通过adb shell
启动。但是,对于我(无根提取的Nexus 5),它确实出现了错误代码137。但是从代码中你可以看出这在理论上应该如何运作。
您检索TelephonyManager
和enableDataConnectivity
,当然这是一个隐藏的API(请参阅:https://github.com/android/platform_frameworks_base/blob/6b8a3a52acf1c2722551f1ea1ce47831f87939cd/telephony/java/com/android/internal/telephony/ITelephony.aidl)。通过重新编译您构建的android.jar或使用反射(参见:How do I build the Android SDK with hidden and internal APIs available?),可以访问隐藏的API。
希望这有帮助。