我正在尝试编写一个可以打开和关闭移动数据连接的应用程序.
已经获得了源代码并构建了自己的SDK,在其中我删除了@hide语句,因此可以使用相关功能
cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
cm.setMobileDataEnabled(true);
还找出了我需要哪些权限,特别是WRITE_SECURE_SETTINGS,该权限仅适用于系统应用程序.我读了adamk的comment,现在需要知道如何执行他建议的操作(将应用添加到系统或使用平台密钥对其进行签名).
首先,我只想在仿真器上执行此操作,然后在我的手机(已植根并使用自定义ROM)上执行此操作.
我尝试将其推送到模拟器上的系统目录:
adb remount
adb push app.apk /system/app/
adb sync
无法正常运行,则未找到并安装该应用.
我忘记了什么?如何正确地做到这一点?
最佳答案
因此,我终于找到了问题并解决了.
我实际上很接近:
我实际上很接近:
adb remount
adb push app.apk /system/app/
这是在模拟器上执行此操作的正确方法(不需要adb同步).我查看了logcat,发现您需要对.apk文件进行签名,因此系统不会拒绝它,即使在这种情况下不会增加任何有效性.
如果您以这种方式推送已签名的.apk,它将获得所需的权限并按预期工作—在我的情况下,打开和关闭移动数据连接.
对于电话部分(使用ClockworkMod):
引导到恢复模式,挂载/ system文件夹并启用USB存储.然后,以与仿真器相同的方式进行操作,重新启动电话,一切顺利.
希望这对遇到相同问题的人有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。