现状

由于各种App后台常驻,互相唤醒的泛滥,google越来越严格的限制了App在后台长时间活动。在高版本android中,几乎没有任何手段可以100%保证app后台长期存在。与其研究各种复杂而效果不见得好的灰色保活手段,在一些需求中不妨考虑前台保活。除了通知栏会有一个提示外,前台保活的稳定性非常高,并且是官方认可的手法。

前台保活

目前各大厂商android版本已经更新到android8.0也就是api26,在android8.0上创建前台服务需要使用startForegroundService()方法,然后必须在service中的oncreate()中调用startForeground()设置notification.否则5s后将会抛出 null Notification 或者 did not then callService.startForeground异常

1.首先创建一个服务

2.在服务中的oncreate()方法中创建notification(8.0中最好使用NotificationChannel()方法并且一定要设置notification的id),然后用startForeground()方法传入notification.

3.调用startForegroundService()启动服务

4.为了防止最近任务清理内存杀死应用,还可以在Mainifest中设置android:excludeFromRecents="true" 属性使应用不显示在最近任务列表中防止被用户清除.

android 创建前台服务,Android前台服务保活相关推荐

  1. android创建标题栏,【Android】利用服务Service创建标题栏通知

    创建标题栏通知的核心代码 public void CreateInform() { //定义一个PendingIntent,当用户点击通知时,跳转到某个Activity(也可以发送广播等) Inten ...

  2. android 创建帧动画,Android 逐帧动画创建实例详解

    Android 逐帧动画创建实例详解 前言: 我们看早期电影的时候,电影通常是一张一张播放,用我们现在专有名词来说,就是一帧帧来,安卓同样有这样动画效果的编排形式. 那么我们先定义逐帧动画xml文件 ...

  3. android创建布局文件,android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  4. android 创建assetmanager文件,Android AssetManager

    Android AssetManager的创建 本文基于Android 6.0源码分析 AssetManager的类图 我们以一个"Hello World" APK(包名:com. ...

  5. android 创建新活动,Android基础Activity篇——创建一个活动(Activity)

    1.创建活动 首先用AS创建一个add no activity项目名使用ActivityTest,包名为默认的com.example.activitytest 2.右击app.java.com.exa ...

  6. android创建图片资源文件,Android图片添加水印图片并把图片保存到文件存储的实现代码...

    具体代码如下所示: package zhangphil.test; import android.graphics.Bitmap; import android.graphics.BitmapFact ...

  7. Android创建一个无启动页服务

    1.启动页添加主题 android:theme="@style/AppTheme.NoStartupPage" 2.自定义主题样式 3.MianActivity 4.创建服务 5. ...

  8. android 创建多级目录,Android创建文件夹

    之前写过一篇博文<Android在SDcard建文件夹(在Android中移动文件必用)>http://xuewei.blog.51cto.com/6061915/1069843 pack ...

  9. android创建相册代码,Android Studio中用List Fragments创建相册Gallery

    这是关于在Android Studio中通过 fragments 进行相机方面开发的五篇系列文章的第二篇.如果你还没有把我放在 GitHub 上的范例程序克隆下来,那么请先去这里获取***代码.本文主 ...

  10. android 创建虚拟内存,在 Android 的 /data 目录下添加虚拟内存

    在 Android 的 /data 目录下添加虚拟内存 Android 系统上添加虚拟内存已经不是什么新鲜事了, 很多手机都支持, 通常都是将虚拟内存添加到 SD 卡上, 不过由于 SD 卡的的读写速 ...

最新文章

  1. java 登录按钮响应数据库_用户登录功能的实现—从前端到后台(包括数据库)...
  2. Git 命令集 实践整理
  3. notepad++添加插件管理器
  4. ChartDirector Python创建建多层甘特图的代码
  5. JZOJ 3786. 【NOI2015模拟8.19】图
  6. 倾斜模型精细化处理_广州智迅诚单体化实景三维模型为智慧城市提供了平台数据基础...
  7. 常用的分布式事务解决方案介绍
  8. 方程的解_NOI导刊2010提高(01) 组合数
  9. 【NOIP2018】DAY2T2——填数游戏(轮廓线状压的dp?搜索打表)
  10. NoSQL数据库程序员应该在2019年学习的5大知识
  11. 阿里腾讯今日头条纷纷翻牌子,ClickHouse到底有什么本事?
  12. 曾经采集朋友圈难倒多少Python大佬,今天手把手教你如何实现!
  13. 回溯专题leetcode
  14. CSRF手工测试方法
  15. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)...
  16. 关于python 输出中文
  17. 自动化睡眠分期工具:开源、免费、高效
  18. 服务器数据恢复过程(服务器数据恢复通用方法)
  19. PTA 7-4 平面向量加法
  20. TFTP服务器与客户端的安装

热门文章

  1. python解析mht文件_[原创].mht文件图片解析工具
  2. Animate.css动画库的使用操作
  3. 【第六届强网杯CTF-Wp】
  4. 服务器英文系统怎么切中文,云服务器怎么把英文改成中文
  5. Java传输文件使用Base64优化传输速率。
  6. 计算机用户名起什么好,如何随机取名计算机名-如何改计算机用户名
  7. 无痕HOOK方式=硬断+VEH
  8. 【ELM预测】基于蝴蝶算法优化极限学习机预测附matlab代码
  9. word 左侧显示目录
  10. UFS UIC Layer: MIPI UNIPRO