Android问题8:休眠导致网络中断的问题

 

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);

 

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页