Получение ошибки «IllegalArgumentException: Вы не можете сохранить свои настройки в безопасных настройках» - PullRequest
0 голосов
/ 01 ноября 2018

Этот код:

 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 вопрос дает ответ на ту же ошибку, они говорят: «Settings.System для настроек, определяемых платформой. Вы не можете поместить туда произвольные настройки, такие как test.hemant.».

Но дело в том, что в моем случае это не произвольная настройка системы, которую я устанавливаю. Я знаю, что он существует в окне ТВ, над которым я работаю, потому что прежде чем пытаться каким-либо образом перезаписать или создать его, я проверил с помощью метода Settings.getInt, чтобы получить его значение, и действительно, оно было. Я использовал пульт дистанционного управления, чтобы изменить соответствующую настройку, и getInt отразил изменение. Как я могу устранить ошибку? У меня есть разрешения WRITE_SETTINGS и WRITE_SECURE__SETTINGS в моем манифесте.

...