android.permission.WRITE_SETTINGS错误

时间:2015-01-21 05:44:10

标签: android android-permissions

我正在尝试通过应用修改手机上的某些设置,但我一直在努力 这个错误:

  

java.lang.SecurityException:Permission denial:写入设置需要android.permission.WRITE_SETTINGS

我已将此权限添加到我的清单中,但错误仍然存​​在。 这是我的清单中的一个片段:

<uses-permission
    android:name="android.permission.MEDIA_CONTENT_CONTROL"
    android:maxSdkVersion="11" />
<uses-permission
    android:name="android.permission.CHANGE_CONFIGURATION"
    android:maxSdkVersion="11" />
<uses-permission
    android:name="android.permission.READ_PHONE_STATE"
    android:maxSdkVersion="11" />
<uses-permission
    android:name="android.permission.WRITE_SETTINGS"
    android:maxSdkVersion="11" />

这里有什么问题?

2 个答案:

答案 0 :(得分:5)

尝试:

<uses-permission
    android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
<uses-permission
    android:name="android.permission.CHANGE_CONFIGURATION" />
<uses-permission
    android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

<uses-sdk
    android:maxSdkVersion="11"
    android:minSdkVersion="7"
    android:targetSdkVersion="9" />

注意:在清单中使用android:maxSdkVersion并不好。你可以删除它。

答案 1 :(得分:4)

Android doc说,

  

android:maxSdkVersion
应用此权限的最高API级别。设置此属性是   如果您的应用所需的权限不再需要,则非常有用   从某个API级别开始。

<uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     android:maxSdkVersion="18" />
     

这样,从API级别19开始,系统将不再授予   您的应用是WRITE_EXTERNAL_STORAGE权限。

您在哪个SDK版本中运行此代码?

适用于Android版本11&amp;在下面,将根据您的代码授予许可。

如果您不想限制特定sdk版本的权限,请删除maxSdkVersion属性。