最近遇到个问题:
后台Service启动正常启动后,锁屏状态下大概80秒左右Service就被暂停了(并没有被杀死),唤醒屏幕后就继续执行。

解决方法:
Service启动时创建一条通知,与其绑定,这样锁屏或者后台Service都不会被暂停或杀死。

代码如下:
在Service的onCreate中创建NotificationChannel 并且与服务绑定。

 private NotificationManager notificationManager;private String notificationId = "serviceid";private String notificationName = "servicename";@Overridepublic void onCreate() {super.onCreate();notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);//创建NotificationChannelif(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){NotificationChannel channel = new NotificationChannel(notificationId, notificationName, NotificationManager.IMPORTANCE_HIGH);notificationManager.createNotificationChannel(channel);}startForeground(1,getNotification());}private Notification getNotification() {Notification.Builder builder = new Notification.Builder(this).setSmallIcon(R.mipmap.log).setContentTitle("title").setContentText("text");if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {builder.setChannelId(notificationId);}Notification notification = builder.build();return notification;}

Android 锁屏后Service服务保活(支持9.0)相关推荐

  1. Android 锁屏后handler计时失效

    目录 问题背景 handler失效的原因 排查了解到Doze机制 锁屏后计时解决方案 问题背景 需要记录用户播放音频的时长,我在一个service中开启handler,每隔一秒用户正在播放,将播放时长 ...

  2. 锁屏后后台服务停止运行的解决方案

    开发了一个跑步记步和运动轨迹的项目,有一天老板说xxx你看下我的跑步轨迹怎么是断断续续的呢,我一看果真是,然后再看下自己的手机,轨迹是连续的,考虑了两秒钟,我们的手机唯一不同的就是系统版本不一样,只好 ...

  3. android 锁屏后定时器,iOS锁屏或者后台计时器定时解决方法

    我们知道,当程序进入后台时,计时器就会暂时停止,当重新进入程序时,计时器又会重新开始,有时候,我们需要在程序进入后台时,计时器依然能够计时,所以,就想到了一种解决方案,利用进入后台和前台的时间差来让计 ...

  4. Android锁屏状态下service不能正常工作的探究

    理想情况下例如音乐播放等service在锁屏状态下都是可以正常播放的. 最近在用android5.0做开发,写了蓝牙4.0的服务和socket的网络请求服务,需求是每隔一段时间自动查询服务器数据,如果 ...

  5. 【Android】锁屏后应用保活、拉活、双进程守护

    最近在使用高德地图实时获取定位时遇到了个问题,锁屏后一段时间(5~10分钟左右)后程序会被系统杀死,为了保活,特研究了下进程保活机制. 0.基本操作和概念 针对root过的手机,可以通过下列命令查看内 ...

  6. Android 基于高德地图的锁屏后定位和轨迹自动纠偏(离线版)

    目录 一.后台如何持续获取定位 1.后台以及锁屏后持续定位异常的原因以及应对方案探索 2.后台持续获取定位失败的应对方案 二.对坐标点进行加工处理 (1).为什么要加工处理 (2).如何加工处理 本文 ...

  7. Android仿网易云音乐中锁屏后在开锁界面插屏功能

    这个功能实现起来应该有多种方式,可以使用WindowManager创建window的方法. 在本文中我们使用开启一个Activity来充当锁屏界面. 实现步骤有以下两步: 一.后台开启一个Servic ...

  8. Android Service服务保活

    基于Android 10.11 实现的Service服务保活 最近公司要实现app程序不被杀死 实现持续定位,在网上看了很多个文章 也看到双进程保活,我忘了在那看到这篇文章了 下面 具体显现 创建 M ...

  9. mac拓展显示屏睡眠或锁屏后启动黑屏,mac typeC不支持4K 60HZ

    问题一.mac拓展显示屏睡眠或锁屏后启动黑屏 解答:参考文章:display - External monitor stays black after "locking" (or ...

最新文章

  1. linux系统基础入门,虚惊一场
  2. 在CentOS7上编译GreenPlum5.3.0
  3. 当代年轻人,都有些不成文的规定?
  4. 升级 ubuntu_Ubuntu 19.04 已经到期!现有用户必须升级到 Ubuntu 19.10
  5. Java FilePermission暗含()方法与示例
  6. matlab weibpdf函数,matlab建模常用函数
  7. Invalid options in vue.config.js: “baseUrl“ is not allowed
  8. 命令重置_学个简单命令,一秒重置账户密码
  9. Mysql : InnoDB: Table flags are 0 in the data dictionary but the flags in file ./ibdata1 are 0x4800!
  10. 如何遍历JTree的每一个节点
  11. OpenCV读取网络摄像头视频并保存到本地
  12. php 小程序获取access_token
  13. fms 连 mysql_FMS+Thinkphp+Mysql 直播源代码,开源可消耗
  14. 18岁开始学习编程是否来得及?
  15. 古老而神秘的龙泉寺,缘何成为互联网圈里的圣地
  16. 一篇文章带你认识数学建模中的二维插值
  17. POJ 1838 Banana G++
  18. 使用 ABAP 代码制作手机能够扫描的二维码(QRCode)试读版
  19. 假设有一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元中存储时每个数据中含“1”数据位的个数,并将统计结果保存在res1数组中。数据段的代码定义如下: data seg
  20. 微信小程序wx.onLocationChange的使用,并计算移动距离

热门文章

  1. 位图与bitblt【位图知识】
  2. input下拉选择框可以自行输入也可以下拉选择
  3. 如何找到时序列中的缺失月(missing month)/天(missing day)并补全?尤其针对多个客户或产品的月/天销量 -- 史上最简单方法,只要2行python代码
  4. Shiro实现session限制登录数量踢人下线
  5. 乔治亚理工学院计算机专业,乔治亚理工学院计算机专业成功录取
  6. 【历史上的今天】6 月 15 日:第一个手机病毒;AI 巨匠司马贺诞生;Chromebook 发布
  7. 职工管理系统--基于C++多态
  8. 在html中 给表格添加行,在HTML代码中,给表格添加行的标记是。
  9. 财路网每日原创推送:浅谈:区块连数字身份
  10. 看懂了再说自己是程序员哈哈