我用下面的代碼,我的目標是API-15WIFI_SLEEP_POLICY_NEVER如何在API-17中設置?
android.provider.Settings.System.putInt(cr,
android.provider.Settings.System.WIFI_SLEEP_POLICY,
android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER);
當代碼平臺上的API-17運行,我得到的logcat的warnigns,
設置wifi_sleep_policy已經從android.provider移動。將Settings.System設置爲android.provider.Settings.Global,值保持不變。
因此,我所做的是設置我的項目的目標後,API-17和使用該代碼
if(Build.VERSION.SDK_INT < 17)
{
android.provider.Settings.System.putInt(cr,
android.provider.Settings.System.WIFI_SLEEP_POLICY,
android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER);
}
else
{
android.provider.Settings.Global.putInt(cr,
android.provider.Settings.Global.WIFI_SLEEP_POLICY,
android.provider.Settings.Global.WIFI_SLEEP_POLICY_NEVER);
}
因此,我開始變得以下拋出:SecurityException在平臺的API-17
java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
然後我檢查了WRITE_SECURE_SETTINGS權限僅適用於系統應用程序,我無法使用它編譯我的代碼,就好像此權限僅適用於系統應用程序一樣。
所以我很困惑的是我早先得到的警告是錯誤的,或者是我的代碼有什麼問題,我想讓它與API-17兼容。