出现“ IllegalArgumentException:您无法将设置保留在安全设置中”错误

时间:2018-11-01 12:15:04

标签: java android runtime-error settings

此代码:

 Settings.System.putInt(context.getContentResolver(), POWER_KEY_DEFINITION, 1);  

产生错误:

 java.lang.IllegalArgumentException: You cannot keep your settings in the secure settings.
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:165)
    at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
    at android.content.ContentProviderProxy.call(ContentProviderNative.java:646)
    at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1595)
    at android.provider.Settings$System.putStringForUser(Settings.java:1965)
    at android.provider.Settings$System.putIntForUser(Settings.java:2070)
    at android.provider.Settings$System.putInt(Settings.java:2064)
    at com.example.sasho.timer2.MainActivity$1$1.run(MainActivity.java:155)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6121)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)  

另一个SO question提供了相同错误的答案,他们说“ Settings.System用于平台定义的设置。您不能在其中放置任意设置,例如test.hemant。”

但是就我而言,这不是我要放置的任意系统设置。我知道它存在于我正在使用的电视盒中,因为在以任何方式尝试对其进行重写或创建之前,我都使用Settings.getInt方法进行了检查以获取其值,并且确实存在一个值。我使用遥控器更改了相应的设置,getInt反映了更改。我该如何解决该错误?我的清单中确实有WRITE_SETTINGS和WRITE_SECURE__SETTINGS权限。

0 个答案:

没有答案