Andoird 10 Settings.System问题

在android 10的设备上,用以下方法赋值时 报错了,但是getxxx方法还可以获取值

Settings.System.putString(getContentResolver(),
        "data_text01", text.getText().toString());

报错log如下

java.lang.SecurityException: test.com.test was not granted  this permission: android.permission.WRITE_SETTINGS.
                                                    at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:11327)
                                                    at android.provider.Settings.checkAndNoteWriteSettingsOperation(Settings.java:11209)
                                                    at com.android.providers.settings.SettingsProvider.mutateSystemSetting(SettingsProvider.java:1400)
                                                    at com.android.providers.settings.SettingsProvider.insertSystemSetting(SettingsProvider.java:1375)
                                                    at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:374)
                                                    at android.content.ContentProvider$Transport.call(ContentProvider.java:403)
                                                    at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:272)
                                                    at android.os.Binder.execTransact(Binder.java:704)

 

然后在androidmanifest.xml加了 

android.permission.WRITE_SETTINGS,然后又加了动态权限 还是不行,

看了源码后,才知道 非系统级应用不能使用putxxx()方法了,特此记录一下,

 

 



posted @ 2020-05-25 20:24  稻香鱼  阅读(1888)  评论(0)    收藏  举报