我的应用程序为用户提供了授予root访问权限的选项,以允许访问某些系统功能(NFC)。默认情况下,它从不要求root用户。
因此,在授予权限后,我认为它应该可以工作,但我仍然感到恐惧:
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,但就我可以tell...any想法而言,没有对相关代码进行任何更改?
发布于 2012-08-11 07:01:27
我是不是漏掉了什么?
您缺少WRITE_SECURE_SETTINGS权限。
我请求的是WRITE_SECURE_SETTINGS权限,所以这不可能。
AFAIK,root身份与权限没有直接关系。若要保留WRITE_SECURE_SETTINGS,您的应用程序必须使用与签署固件相同的签名证书进行签名,或者必须安装在系统分区上。成为root用户不是这两件事。
发布于 2018-09-30 08:06:11
你可以让你的应用程序以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");https://stackoverflow.com/questions/11908599
复制相似问题