android屏幕关闭后,后台服务用的handler,timer之类的定时器会被暂停运行,屏幕打开后重新运行。

为了防止定时器被运行,可以在服务中使用 WakeLock。

在服务开始的地方执行:

        wakeLock=((PowerManager)getSystemService(Context.POWER_SERVICE)).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
        if(wakeLock!=null)
        {
            wakeLock.acquire();//这句执行后,手机将不会休眠,直到执行wakeLock.release();方法
        }


所以需要在服务停止的时候执行

        if(wakeLock!=null)
        {
            wakeLock.release();
        }

更多相关文章

  1. ubuntu 下编译android libjpeg-turbo-1.5.2
  2. service详解
  3. Android(安卓)Service 服务(三)—— bindService与remoteService
  4. Netroid:强大、快速、易用、可扩展基于Volley实现的Android(安卓
  5. Android的service相关讲解
  6. android 连接服务器的方法及安全性问题
  7. Android(安卓)高德地图API学习笔记
  8. Android关于 https SSL handshake aborted 问题查找
  9. android实现开机自启动服务

随机推荐

  1. Android 应用程序开发基础
  2. 【安卓开发】UI设计基础4:用网格布局 Grid
  3. 开发人员应该了解的 Android(安卓)常用术
  4. 深入源码解析Android中的Handler,Message
  5. Android 启动模拟器是出现“Failed to al
  6. Android 4.0+ 版本中的EditText字符重叠
  7. Android面试系列文章2018之Android部分事
  8. Android(安卓)apk的安装、卸载
  9. Android中使用事件总线的优缺点
  10. Smack和Asmack