Я пытаюсь проверить, установлено ли WIFI_SLEEP_POLICY
на все, кроме WIFI_SLEEP_POLICY_NEVER
. Он хорошо работает в некоторых устройствах и эмуляторах, но не работает на других. Например, он работает на эмуляторе Nexus S
с API 10
, но не в Nexus One
эмулятором с API 8
. Когда он не работает, я получаю это сообщениене может проверить WIFI_SLEEP_POLICY на некоторых устройствах
12-10 15:57:19.625: W/System.err(477): android.provider.Settings$SettingNotFoundException: wifi_sleep_policy
12-10 15:57:19.625: W/System.err(477): at android.provider.Settings$System.getInt(Settings.java:807)
Вот код
WifiManager wm = (WifiManager) m_activity.getSystemService(Context.WIFI_SERVICE);
ContentResolver cr = m_activity.getContentResolver();
int policyNever = android.provider.Settings.System.WIFI_SLEEP_POLICY_NEVER;
String WIFI_SLEEP_POLICY = android.provider.Settings.System.WIFI_SLEEP_POLICY;
try {
if(android.provider.Settings.System.getInt(cr, WIFI_SLEEP_POLICY) != policyNever)
{
if (Build.VERSION.SDK_INT>=17){
showWifiSleepWarning(restartAction);
return false;
}
else
android.provider.Settings.System.putInt(cr, WIFI_SLEEP_POLICY, policyNever);
}
} catch (SettingNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}