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. Android开发之屏幕属性
  2. Android获取屏幕的宽和高
  3. android获得手机屏幕大小
  4. Android获取屏幕分辨率和dpi
  5. Android屏幕休眠禁止或清除
  6. Android屏幕切换效果实现
  7. android中的定时器

随机推荐

  1. android junit
  2. Flutter与Android通信 记录
  3. android 仿淘宝的加载刷新效果
  4. android 百度地图 画轨迹
  5. Android ListView性能优化实战方案
  6. Android 的toolbar设置返回事件
  7. android 设置屏幕亮度
  8. Android(安卓)TabLayout 实现底部导航栏
  9. 临时
  10. android从activity跳转到fragment解决