android中锁屏后代码不运行的问题

之前在做一个闹钟项目时,使用多线程实现的闹钟功能,测试时发现手机锁屏后后台线程不执行,google官网提供几种方案,

1、DownloadManager 

2、sync adapter 

3、repeating alarms 

4、Google Cloud Messaging 

5、PowerManager


最后选择PowerManager keep the CPU running 

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyWakelockTag");
wakeLock.acquire();
wakelock.release();//需要在合适的地方释放
需要添加权限
 android:name="android.permission.WAKE_LOCK" />

还有在测试华为手机时锁屏后不执行,华为手机自带的一个省电管理-耗电详情-加入屏幕关闭后保持运行即可;


有不对的地方,或者有更好的方案,欢迎指教




你可能感兴趣的:(android,app,thread,keep,cpu,running)