1. 程式人生 > >Android7.0異常:You can not keep you settings in the secure settings.(framework修改)

Android7.0異常:You can not keep you settings in the secure settings.(framework修改)

異常:You can not keep you settings in the secure settings.解決辦法(framework修改)

前言

Android7.0版本,對許可權的管理更加的嚴格,許多Android6.0banb版本上的app都需要對7.0進行單獨適配,在開發過程中發現了這樣 一個現象。

對於System.settings.putInt的呼叫,會提示You can not keep you settings in the secure settings異常,對應此問題。

解決方法(framework層)

涉及檔案:alps/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java

SettingsProvider檔案中的warnOrThrowForUndesiredSecureSettingsMutationForTargetSdk函式中,對當前版本進行了判斷,若當前版本小於要有警告提示;若當前版本大於6.0時,無論是否申請了WRITE_SETTINGS許可權,都會丟擲異常。

因此,若執意修改這個問題,可將原始碼中丟擲yich異常部分註釋,但是否會引起其他問題,尚未可知。