之前在做一个闹钟项目时,使用多线程实现的闹钟功能,测试时发现手机锁屏后后台线程不执行,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" />

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


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




更多相关文章

  1. 三星 Galaxy Nexus,4.0.3/华为荣耀U8860 从程序自动创建快捷方式
  2. android 异步加载
  3. Android之动态申请存储权限
  4. Android(安卓)启动分析-init进程&init.rc[转]
  5. Android系统初始化过程分析(Android(安卓)4.3)
  6. 在Android中使用AlarmManager
  7. Android(安卓)在JNI中执行Java方法--C/C++调用Java
  8. Android(安卓)app接收来自adb发送的广播的实例学习
  9. Android定制之Ubuntu下常见问题及解决

随机推荐

  1. Android图形系统的底层实现
  2. Android动态加载——加载已安装APK中的类
  3. 如果Imageview与Linearlayout有叠加且可
  4. Android(安卓)adb shell 命令大全
  5. 环境变量ANDROID_SDK_HOME的作用
  6. Android(安卓)限制EditText只能输入数字
  7. android布局居中
  8. Android布局LinearLayout子控件无法填充
  9. android 二 BMI 小例子
  10. Android的SDK与ADT不匹配问题