保持Android Service在手机休眠后继续运行的方法

作者:陌小二 时间:2022-01-01 20:36:12 

最近项目中用到了service进行计时,在连接USB的情况下一切正常,但是拔掉USB后发现,手机进入休眠后service停止了工作。最后通过 PowerManager.WakeLock 在屏幕休眠后保持cpu唤醒状态以使得service继续运行。

官网提醒:这个API会加剧耗电,所以在非必要情况下尽量不要使用。如果要使用尽量使用最低的等级,并在退出后释放资源。

wake lock一共有四个等级:

Flag ValueCPUScreenKeyboard
PARTIAL_WAKE_LOCKOn*OffOff
SCREEN_DIM_WAKE_LOCKOnDimOff
SCREEN_BRIGHT_WAKE_LOCKOnBrightOff
FULL_WAKE_LOCKOnBrightBright

因为项目中只需要保持cpu唤醒即可,所以使用 PARTIAL_WAKE_LOCK 即可。

在service中使用方式如下:


...
private PowerManager.WakeLock wakeLock = null;
...
@Override
public void onCreate() {
super.onCreate();
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TimerService.class.getName());
wakeLock.acquire();
}
...
@Override
public void onDestroy() {
if (wakeLock != null) {
 wakeLock.release();
 wakeLock = null;
}
super.onDestroy();
}

来源:https://blog.csdn.net/u013078044/article/details/64123663

标签:Android,Service,手机,休眠
0
投稿

猜你喜欢

  • C#对多个集合和数组的操作方法(合并,去重,判断)

    2021-12-11 14:02:44
  • MyBatis动态SQL如何实现前端指定返回字段

    2023-11-28 23:00:58
  • Java 自定义注解的魅力

    2023-06-29 14:45:15
  • Android巧用ActionBar实现tab导航效果

    2022-06-02 05:49:18
  • Android广播实现App开机自启动

    2023-01-06 14:54:44
  • Guava中这些Map技巧可以让代码量减少了50%

    2023-03-16 02:35:42
  • Java使用openOffice对于word的转换及遇到的问题解决

    2021-12-03 00:01:16
  • 关于Java从本地文件复制到网络文件上传

    2022-05-10 16:49:02
  • java 实现MD5加密算法的简单实例

    2023-07-19 21:53:56
  • C#调用Win32的API函数--User32.dll

    2022-04-13 16:43:24
  • 浅谈Java代理(jdk静态代理、动态代理和cglib动态代理)

    2023-06-09 18:57:49
  • Java在web页面上的编码解码处理及中文URL乱码解决

    2023-08-25 11:10:19
  • 详解maven的setting配置文件中mirror和repository的区别

    2022-03-19 11:56:42
  • java生成jar包并且单进程运行的实例

    2021-08-30 00:40:55
  • AndroidStudio报错Emulator:PANIC:Cannot find AVD system path. Please define ANDROID_SDK_ROOT(解决方案)

    2023-11-27 01:33:28
  • java数据结构与算法之冒泡排序详解

    2022-08-01 11:20:08
  • SpringBoot内部调用事务不起作用问题的解决方案

    2023-11-17 13:38:35
  • c#生成高清缩略图的二个示例分享

    2023-04-09 23:21:46
  • 详解java整合solr5.0之solrj的使用

    2023-07-23 03:12:06
  • Android编程实现仿优酷圆盘旋转菜单效果的方法详解【附demo源码下载】

    2021-05-27 11:39:35
  • asp之家 软件编程 m.aspxhome.com