1.本人在APP中分别用activity启动service、service发布broadcastreceiver。
手机锁屏后的WAKE_LOCK,能否都要在activity、service、broadcastreceiver中进行设置?
2.本人把acquireWakeLock() 放在activity的 onCreate()中,把releaseWakeLock() 放在onDestroy(),这样放置对不对?
手机锁屏后的WAKE_LOCK,能否都要在activity、service、broadcastreceiver中进行设置?
2.本人把acquireWakeLock() 放在activity的 onCreate()中,把releaseWakeLock() 放在onDestroy(),这样放置对不对?
private void acquireWakeLock() { if (null == mWakeLock) { PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "myService"); if (null != mWakeLock) { mWakeLock.acquire(); } } } private void releaseWakeLock() { if (null != mWakeLock) { mWakeLock.release(); mWakeLock = null; } }
3.上述设置后,锁屏超过20分钟后,再打开app,app就崩溃了。(锁屏后几分钟内,能正常打开app)
解决方案
80
崩溃估计是 你 的 APP数据连接设置了实时性,应该在检测到手机锁屏时就断开连接。等解锁之后重新恢复连接。