电池优化需要先加入权限

<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>

1.最重要的一点  忽略电池优化如果不忽略则锁屏后立马被杀死

判断是否在白名单,如果不在白名单则提示用户开启白名单

2.开启白名单后 启动一个前台服务保持程序优先级 以及防止程序被回收

满足这两点基本可以保持app长时间在后台不被杀死,持续在后台运行。

只满足第二点也能保证app在锁屏前能在后台运行,锁屏后还是会被系统暂停甚至干掉

 /*** 忽略电池优化*/public void ignoreBatteryOptimization(Activity activity) {PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);boolean hasIgnored = false;if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {hasIgnored = powerManager.isIgnoringBatteryOptimizations(activity.getPackageName());//  判断当前APP是否有加入电池优化的白名单,如果没有,弹出加入电池优化的白名单的设置对话框。if (!hasIgnored) {try {//先调用系统显示 电池优化权限Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);intent.setData(Uri.parse("package:" + activity.getPackageName()));startActivity(intent);} catch (Exception e) {//如果失败了则引导用户到电池优化界面try {Intent intent = new Intent(Intent.ACTION_MAIN);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addCategory(Intent.CATEGORY_LAUNCHER);ComponentName cn = ComponentName.unflattenFromString("com.android.settings/.Settings$HighPowerApplicationsActivity");intent.setComponent(cn);startActivity(intent);}catch (Exception ex){//如果全部失败则说明没有电池优化功能}}}}}

废话不多 只发干货

App避免被杀死,常驻后台相关推荐

  1. activity 变成后台进程后被杀死_Android后台杀死系列之二:ActivityManagerService与App现场恢复机制...

    本篇是Android后台杀死系列的第二篇,主要讲解ActivityMangerService是如何恢复被后台杀死的进程的(基于4.3 ),在开篇FragmentActivity及PhoneWindow ...

  2. iOS 通过定位获取常驻后台

    我们知道ios 的应用,大部分都是进入后台,就不会执行任何操作,但是 ,很多时候我们希望程序进入后台,也能执行一些检测操作,比如说,应用进入后台,我们仍然可以实时去获取当前的位置信息.下面我们来了解下 ...

  3. 让程序常驻后台运行的原理和方法

    为什么80%的码农都做不了架构师?>>>    linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有 ...

  4. 如何知道你的app进入了前台还是后台

    众所周知android是个开放性系统,所以系统提供的api往往都不够用,如果遇到了某些需求系统api满足不了我们,就需要自己研究了. 本文就是实现一个利用Application.ActivityLif ...

  5. 双子星IPTV桌面APK源码 网络电视机顶盒直播APP源码 带php后台

    介绍: 后台添加多格式在线直播源 带后台搭建视频教程 双子星IPTV桌面APK源码 网络电视机顶盒直播APP源码 带php后台 再手机上面即可看直播电视 电影 简单方便 网盘下载地址: http:// ...

  6. java语言写常驻服务_让程序常驻后台运行的原理和方法

    linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有一个session首进程,而一个session首进程可能会有一个控 ...

  7. TVMovie JAVA源代码1.2.4版原生安卓tv源码电视盒子APP开源全前端无后台

    b站视频教程:高清版可点击进入观看>> 高清演示视频看下方: 原生安卓tv源码电视盒子app TVMovie JAVA源代码 APP开源全前端无需后台 AndroidTV.机顶盒.电影 ...

  8. iapp开发的在线电影影视APP源码 带php后台

    简介: iapp开发的在线电影APP源码 带php后台 app源码为iapp开发,编辑源码打包软件前需要用到iapp 将压缩包解压,找到api开头的压缩包,上传网站根目录解压即可 修改mian.iyu ...

  9. iOS 获取app进程被杀死事件applicationWillTerminate

    我的需求是,app推入后台,不做用户信息清除,但是程序被用户双击上滑杀死后,就对app用户信息做一个清除,让用户再次打开app时重新登录,so,就要获取app被杀死的事件了,appDelegate里面 ...

最新文章

  1. seafile服务器版能安装在虚拟机上,seafile安装教程linux
  2. bugku 杂项 2B
  3. linux vim基本操作,vim基本操作笔记
  4. 结合使用嵌入式Tomcat和Maven tomcat插件
  5. oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限
  6. 【2016年第4期】突发大数据在存储辅助光电路交换网络中的传输
  7. html二叉树遍历,二叉树的遍历(前序、中序、后序、层次)
  8. 毕设日志——Linux服务器状态查询命令
  9. 如何将JavaScript日期转换为UTC?
  10. Tracer 结合logback记录日志
  11. Flask 数据库迁移(详解)
  12. android 屏幕亮度代码,android 设置系统屏幕亮度
  13. LabVIEW编程LabVIEW开发在LabVIEW中复用现有代码
  14. 社区团购猛地火了,有没有美团、拼多多这样的命?
  15. 视频教程-计算机二级(VB)-计算机等级考试
  16. js练习:筋斗云案例练习
  17. 童瑶担任奥伦纳素“冰白大使”,高端护肤品类加速扩张中国市场
  18. C++|作业训练-虚函数
  19. ZABBIX 监控基本报警故障
  20. SCAU 计算智能 18118 勇者斗恶龙

热门文章

  1. 文本分析简历项目收集-----机器学习(仅供参考)
  2. 身为一名合格root管理员的基本防范措施 Linux系统安全及应用
  3. DFS算法原理及其具体流程,包你看一遍就能理解
  4. Ubuntu系统电池管理软件TLP(Thinkpad设置电池充电阈值)
  5. Alpaca 羊驼API的使用
  6. java项目如何做成可以在没有jdk环境的电脑上面运行的exe程序
  7. 剑指offer做题记录
  8. 知识图谱-KGE-模型:概述【KGE模型充当打分函数的作用】【负采样】【不同模型在不同KG上的表现不一致,需要尝试对比】
  9. 贝叶斯与朴素贝叶斯入门及实战
  10. Scrum板与Kanban如何抉择?敏捷工具:kmgoam板与按照pyluujly