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);
本文介绍如何在Android设备上使用定时器检测手机是否进入休眠状态,并探讨了不同版本SDK中检测屏幕是否开启的方法。同时,文章还讨论了如何设置系统,在休眠状态下保持网络连接不中断,包括旧版和新版SDK的具体实现方式。
1147





