即使在Manifest中添加了WRITE_SECURE_SETTINGS权限错误

Lou*_*sth 7 android application-settings android-manifest

我在Manifest中添加了"android.permission.WRITE_SECURE_SETTINGS".但我仍然收到一条错误消息 - 要求"WRITE_SECURE_SETTINGS".

我已经看到很多关于这个的讨论,并且这个设置被阻止用于第三方软件.

我可以添加我的应用程序的任何其他方式可以获得此权限吗?

我看到这个ADB命令,但我不太熟悉如何使用该到我的应用程序添加到我的设备,低于命令需要root我的设备也可以是在使用之前,因为它没有通过只读文件系统复制?

adb remount
adb push app.apk /system/app/
Run Code Online (Sandbox Code Playgroud)

小智 13

我想补充一点,可以通过 adb 授予 WRITE_SECURE_SETTINGS 权限,并且这种方法不需要 root。这是一个命令:

adb shell pm grant your.package.name android.permission.WRITE_SECURE_SETTINGS
Run Code Online (Sandbox Code Playgroud)


Roy*_*nto 12

首先,正如你之前阅读,WRITE_SECURE_SETTINGS是不是可用的应用程序!因此,无论您是使用root用户还是生成版本,都无法使用此权限.

因此,如果您希望启用此设置,请创建自己的固件以满足您的需要,并在您希望的任何设备上加载该固件.或者,将您的更改贡献给现有固件mod(例如,Cyanogen).

一些其他应用程序使用诸如Reflection使用Java 等技术来访问未通过API公开的函数,您可以尝试相同的方法.

其次,adb remount除非手机已植根或默认情况下固件启用,否则与生产版本不同.


Dav*_* S. 12

我最近在努力解决这个问题.我的客户想要一个应用程序,可以在设备充电时关闭NFC(无线充电器),然后在从充电器中取出时打开.我在我的Nexus 7上运行KitKat,即使我WRITE_SECURE_SETTINGS在Manifest和应用程序中运行/system/app/,它也行不通.

事实证明,在4.4中他们增加了额外的安全性.然而,在4.3中,如果有三件事情是真的:

  1. 清单有 WRITE_SECURE_SETTINGS
  2. 应用程序在 /system/app/
  3. 包裹由钥匙(任何钥匙)签名

我使用http://www.wugfresh.com/nrt/中的真棒Nexus Root Toolkit(NRT)对设备进行了植根,然后从以下位置安装了BusyBox和系统app mover:

https://play.google.com/store/apps/details?id=stericson.busybox https://play.google.com/store/apps/details?id=de.j4velin.systemappmover

我安装了自定义签名的APK并使用系统app mover将其移动到位,然后重新启动设备.它工作得很好.希望这可以帮助.

  • 在android 4.4中放置一个apk/system/priv-app (2认同)

小智 6

对于我使用的 api,它需要 WRITE_SECURE_SETTINGS 权限,我必须将其包含在清单中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
coreApp="true"
android:sharedUserId="android.uid.system">

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
...
Run Code Online (Sandbox Code Playgroud)

参考: https: //github.com/android/platform_packages_apps_settings/blob/master/AndroidManifest.xml

我还必须将应用程序作为系统应用程序运行(在:/system/app 下)。以下是操作方法:http://www.addictivetips.com/mobile/how-to-install-any-app-as-system-app-on-android/