App避免被杀死,常驻后台
电池优化需要先加入权限
<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避免被杀死,常驻后台相关推荐
- activity 变成后台进程后被杀死_Android后台杀死系列之二:ActivityManagerService与App现场恢复机制...
本篇是Android后台杀死系列的第二篇,主要讲解ActivityMangerService是如何恢复被后台杀死的进程的(基于4.3 ),在开篇FragmentActivity及PhoneWindow ...
- iOS 通过定位获取常驻后台
我们知道ios 的应用,大部分都是进入后台,就不会执行任何操作,但是 ,很多时候我们希望程序进入后台,也能执行一些检测操作,比如说,应用进入后台,我们仍然可以实时去获取当前的位置信息.下面我们来了解下 ...
- 让程序常驻后台运行的原理和方法
为什么80%的码农都做不了架构师?>>> linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有 ...
- 如何知道你的app进入了前台还是后台
众所周知android是个开放性系统,所以系统提供的api往往都不够用,如果遇到了某些需求系统api满足不了我们,就需要自己研究了. 本文就是实现一个利用Application.ActivityLif ...
- 双子星IPTV桌面APK源码 网络电视机顶盒直播APP源码 带php后台
介绍: 后台添加多格式在线直播源 带后台搭建视频教程 双子星IPTV桌面APK源码 网络电视机顶盒直播APP源码 带php后台 再手机上面即可看直播电视 电影 简单方便 网盘下载地址: http:// ...
- java语言写常驻服务_让程序常驻后台运行的原理和方法
linux中进程组织结构为session包含一个前台进程组及一个或多个后台进程组,一个进程组包含多个进程. 一个session可能会有一个session首进程,而一个session首进程可能会有一个控 ...
- TVMovie JAVA源代码1.2.4版原生安卓tv源码电视盒子APP开源全前端无后台
b站视频教程:高清版可点击进入观看>> 高清演示视频看下方: 原生安卓tv源码电视盒子app TVMovie JAVA源代码 APP开源全前端无需后台 AndroidTV.机顶盒.电影 ...
- iapp开发的在线电影影视APP源码 带php后台
简介: iapp开发的在线电影APP源码 带php后台 app源码为iapp开发,编辑源码打包软件前需要用到iapp 将压缩包解压,找到api开头的压缩包,上传网站根目录解压即可 修改mian.iyu ...
- iOS 获取app进程被杀死事件applicationWillTerminate
我的需求是,app推入后台,不做用户信息清除,但是程序被用户双击上滑杀死后,就对app用户信息做一个清除,让用户再次打开app时重新登录,so,就要获取app被杀死的事件了,appDelegate里面 ...
最新文章
- seafile服务器版能安装在虚拟机上,seafile安装教程linux
- bugku 杂项 2B
- linux vim基本操作,vim基本操作笔记
- 结合使用嵌入式Tomcat和Maven tomcat插件
- oracle权限培训,Java培训-ORACLE数据库学习【2】用户权限
- 【2016年第4期】突发大数据在存储辅助光电路交换网络中的传输
- html二叉树遍历,二叉树的遍历(前序、中序、后序、层次)
- 毕设日志——Linux服务器状态查询命令
- 如何将JavaScript日期转换为UTC?
- Tracer 结合logback记录日志
- Flask 数据库迁移(详解)
- android 屏幕亮度代码,android 设置系统屏幕亮度
- LabVIEW编程LabVIEW开发在LabVIEW中复用现有代码
- 社区团购猛地火了,有没有美团、拼多多这样的命?
- 视频教程-计算机二级(VB)-计算机等级考试
- js练习:筋斗云案例练习
- 童瑶担任奥伦纳素“冰白大使”,高端护肤品类加速扩张中国市场
- C++|作业训练-虚函数
- ZABBIX 监控基本报警故障
- SCAU 计算智能 18118 勇者斗恶龙