我的应用程序使用户能够获得root权限,允许访问某些系统功能(NFC)的选项。 默认情况下,它从不要求根。
因此,权限被授予后,我想它应该工作,但我仍然得到了可怕的:
08-10 22:06:49.320: W/System.err(9421): Caused by: java.lang.SecurityException: WRITE_SECURE_SETTINGS permission required: Neither user 10174 nor current process has android.permission.WRITE_SECURE_SETTINGS.
错误。 我缺少的东西吗? 我要求的WRITE_SECURE_SETTINGS
的许可,所以不能吧。
有趣的是,我有NFC启用/禁用工作,但在我安装了一个新的ROM,我不断收到此错误。 从4.0.3到4.0.4更新,但有问题,据我可以告诉任何更改代码...任何想法?
我缺少的东西吗?
这是因为丢失了WRITE_SECURE_SETTINGS
许可。
我要求的WRITE_SECURE_SETTINGS的许可,所以不能吧。
据我所知,是根本无关的权限,直接。 为了保持WRITE_SECURE_SETTINGS
,您的应用程序要么必须由签署的固件或在系统分区上安装相同的签名证书签名。 作为根既不是其中的一件事情。
这是可能的,你可以得到你的应用程序以root身份运行。 例如,我得到了WRITE_SECURE_SETTINGS permission required
的错误,当我跑:
String output = ProcessUtils.runProcess(MainService.this, "wm", "overscan", "0,0,10,10");
但我解决这个问题了(有根的设备上)通过:
String output = ProcessUtils.runProcess(MainService.this, "su", "0", "sh", "-c", "wm overscan 0,0,10,10");