在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()方法了,特此记录一下,