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

 

 




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM