1. 使用定时器检测手机是否处于休眠状态。
//旧版本的SDK
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
boolean isScreenOn = powerManager.isScreenOn();
//新版本的SDK
powermanager = (PowerManager) MainActivity.this.getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = powermanager.isInteractive();
2. 设置系统,强制使用休眠状态下网络不中断
此效果测试 了几次总是失败,
//旧版本SDK;
//WIFI不关闭
Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.WIFI_SLEEP_POLICY,
Settings.System.WIFI_SLEEP_POLICY_NEVER);
//默认方案
Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.WIFI_SLEEP_POLICY,
Settings.System.WIFI_SLEEP_POLICY_DEFAULT);
//新版本SDK
//WIFI不关闭
Settings.System.putInt(getContentResolver(),
android.provider.Settings.Global.WIFI_SLEEP_POLICY,
Settings.Global.WIFI_SLEEP_POLICY_NEVER);
//默认方案
Settings.System.putInt(getContentResolver(),
android.provider.Settings.Global.WIFI_SLEEP_POLICY,
Settings.Global.WIFI_SLEEP_POLICY_DEFAULT);