之前在做一个闹钟项目时,使用多线程实现的闹钟功能,测试时发现手机锁屏后后台线程不执行,google官网提供几种方案,
最后选择PowerManager keep the CPU running
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakelockTag"); wakeLock.acquire();
wakelock.release();//需要在合适的地方释放
需要添加权限<uses-permission android:name="android.permission.WAKE_LOCK" />
还有在测试华为手机时锁屏后不执行,华为手机自带的一个省电管理-耗电详情-加入屏幕关闭后保持运行即可;
有不对的地方,或者有更好的方案,欢迎指教