Anroid通过设置“自启动管理”让应用被杀死也能收到推送消息
通常我们把应用杀死后就无法收到推送的消息,需要重新打开应用才能够收到推送的消息。我们可以通过设置“自启动管理”,允许应用自启动,达到杀死应用也可以接收到推送消息的目的。在这里举例红米3S手动开启应用的“自启动”权限步骤:打开设置→授权管理→自启动管理→在“禁止应用自启动”中开启你要“自启动”的应用。当然,我们在开发APP的时候不可能让用户这样一步一步去操作,所以我们可以通过代码直接打开“自启动管理”界面。
public class MainActivity extends AppCompatActivity {public static final String SYS_EMUI = "sys_emui";public static final String SYS_MIUI = "sys_miui";public static final String SYS_FLYME = "sys_flyme";private static final String KEY_MIUI_VERSION_CODE = "ro.miui.ui.version.code";private static final String KEY_MIUI_VERSION_NAME = "ro.miui.ui.version.name";private static final String KEY_MIUI_INTERNAL_STORAGE = "ro.miui.internal.storage";private static final String KEY_EMUI_API_LEVEL = "ro.build.hw_emui_api_level";private static final String KEY_EMUI_VERSION = "ro.build.version.emui";private static final String KEY_EMUI_CONFIG_HW_SYS_VERSION = "ro.confg.hw_systemversion";private static final String TAG = "MainActivity";private Button mStart;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mStart = (Button) findViewById(R.id.btn);getSystem();//获取当前手机操作系统mStart.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {openStart(MainActivity.this);//打开"自启动管理"界面}});}/** 获取当前手机操作系统 */public static String getSystem(){String SYS = null;try {Properties prop= new Properties();prop.load(new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")));if(prop.getProperty(KEY_MIUI_VERSION_CODE, null) != null|| prop.getProperty(KEY_MIUI_VERSION_NAME, null) != null|| prop.getProperty(KEY_MIUI_INTERNAL_STORAGE, null) != null){SYS = SYS_MIUI;//小米Log.d(TAG,"小米");}else if(prop.getProperty(KEY_EMUI_API_LEVEL, null) != null||prop.getProperty(KEY_EMUI_VERSION, null) != null||prop.getProperty(KEY_EMUI_CONFIG_HW_SYS_VERSION, null) != null){SYS = SYS_EMUI;//华为Log.d(TAG,"华为 ");}else if(getMeizuFlymeOSFlag().toLowerCase().contains("flyme")){SYS = SYS_FLYME;//魅族Log.d(TAG,"魅族");}else{Log.d(TAG,"其他11");}} catch (IOException e){e.printStackTrace();Log.d(TAG,"其他22");return SYS;}return SYS;}public static String getMeizuFlymeOSFlag() {return getSystemProperty("ro.build.display.id", "");}private static String getSystemProperty(String key, String defaultValue) {try {Class<?> clz = Class.forName("android.os.SystemProperties");Method get = clz.getMethod("get", String.class, String.class);return (String)get.invoke(clz, key, defaultValue);} catch (Exception e) {}return defaultValue;}/** 打开"自启动管理"界面 */public void openStart(Context context){
// if(Build.VERSION.SDK_INT < 14){
// Toast.makeText(this,"版本太低",Toast.LENGTH_SHORT).show();
// return;
// }String system = getSystem();Intent intent = new Intent();if(system.equals(SYS_EMUI)){//华为ComponentName componentName = new ComponentName("com.huawei.systemmanager","com.huawei.systemmanager.startupmgr.ui.StartupNormalAppListActivity");intent.setComponent(componentName);}else if(system.equals(SYS_MIUI)){//小米ComponentName componentName = new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity");intent.setComponent(componentName);}try{context.startActivity(intent);}catch (Exception e){//抛出异常就直接打开设置页面intent=new Intent(Settings.ACTION_SETTINGS);context.startActivity(intent);}}
}
------------------------------------------------------------------------------------------------------------------------
下面是常用手机厂商的设置方法:
小米【MIUI】
自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启
通知栏设置:应用默认都是显示通知栏通知,如果关闭,则收到通知也不会提示
网络助手:可以手动禁止已安装的第三方程序访问2G/3G和WIFI的网络和设置以后新安装程序是否允许访问2G/3G和WIFI的网络
MIUI 7 神隐模式: 允许应用进行自定义配置模式,应用在后台保持联网可用,否则应用进入后台时,应用无法正常接收消息。【设置】下电量和性能中【神隐模式】
华为【Emotion】
自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程不会开启,只能手动开启应用
后台应用保护:需要手动把应用加到此列表,否则设备进入睡眠后会自动杀掉应用进程,只有手动开启应用才能恢复运行
通知管理:应用状态有三种:提示、允许、禁止。禁止应用则通知栏不会有任何提醒
魅族【Flyme】
自启动管理:需要把应用加到【自启动管理】列表,否则杀进程或重新开机后进程无法开启
通知栏推送:关闭应用通知则收到消息不会有任何展示
省电管理: 安全中心里设置省电模式,在【待机耗电管理】中允许应用待机时,保持允许,否则手机休眠或者应用闲置一段时间,无法正常接收消息。
VIVO【Funtouch OS】
内存一键清理:需要将应用加入【白名单】列表,否则系统自带的“一键加速”,会杀掉进程
自启动管理:需要将应用加入“i管家”中的【自启动管理】列表,否则重启手机后进程不会自启。但强制手动杀进程,即使加了这个列表中,后续进程也无法自启动。
OPPO【ColorOS】
冻结应用管理:需要将应用加入纯净后台,否则锁屏状态下无法及时收到消息
自启动管理:将应用加入【自启动管理】列表的同时,还需要到设置-应用程序-正在运行里锁定应用进程,否则杀进程或者开机后进程不会开启,只能手动开启应用
Anroid通过设置“自启动管理”让应用被杀死也能收到推送消息相关推荐
- php个推设置指定用户收到推送消息,请问怎么给指定用户推送信息
大家好,我第一次用这个系统.现在的需求是:A怎么将信息只推送给B,或者系统指定给B推送信息.能不能根据$socket->id单独去推送信息?下面是代码,请问如何去实现? $m = new Mem ...
- html5 plus.push,HTML5+规范:Push(管理推送消息功能)
Push模块管理推送消息功能,可以实现在线.离线的消息推送,通过plus.push可获取推送消息管理对象. 1.方法 1.1.addEventListener: 添加推送消息事件监听器 void pl ...
- 友盟小米收不到推送消息_Android 手机收不到消息推送的设置指南 - 融云 RongCloud...
如何解决 Android 手机因推送权限问题收不到消息提醒? 问题描述 部分 Android 手机系统在黑屏待机后自动清理后台运行的软件,这样影响了应用正常接收新的消息,需要开启手机的某些权限.此文档 ...
- 华为手机如何关闭通知栏推送消息_如果华为手机升级EMUI10后,电池耗电很快!要记得调整这3个设置...
EMUI10是华为发布的最新款系统,目前已经有十多款机型可以升级了,但是很多升后的朋友都说手机掉电很快. 其实笔者的荣耀V20升级EMU10后也出现了掉电很快.续航不耐用的情况,不过笔者调整几个设置, ...
- android手机收不到推送消息推送消息,锁屏时收不到微信通知?那是因为你少了这些设置!...
我们会在手机上安装微信.QQ等无数社交或新闻推送类的APP,但最令人尴尬的就是收不到消息通知,或是出现消息延时等问题.那么,如何才能100%确保APP的通知消息不受影响呢? 找回丢失的微信通知 对An ...
- git管理工具SourceTree --- 提交,拉取,推送
使用sourceTree管理git的工具,可以更方便使用 1.当新增一个功能模块时,可以在本地库中新建一个分支,再切换到该分支下进行新功能的编写: 2.分支新建好后,切换到该分支下,编写代码,当需要提 ...
- 企业微信推送消息延迟_微信接收消息总是延迟?没有提醒,这3个功能赶紧设置一下...
使用微信进行交流已经成为我们现在很常见的一种方式,这样不仅节省时间,还很方便,但是不知道大家有没有遇见过这种情况,手机微信消息出现延迟,或者说是有消息却没有提醒,这种现象的出现,给我们的工作和生活带来 ...
- java极光推送ios设置通知标题,iOS 极光推送接受通知和自定义消息及静默推送
由于配置证书和注册极光应用配置网上已经很多了所以在这里就不在多说了!!! 1.首先我们要先将从极光官网上下载来的最新的sdk中的lib文件夹导入工程中; 顺便添加一些依赖库如下: /**添加依赖库 C ...
- Anroid推送服务
本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息. ...
- WP百度搜索推送管理插件
简介: 百度搜索推送管理是一款适用于站长管理WordPress博客内容URL的百度推送管理,其中包括: 该插件的主要目的在于,大大提升原创内容网站数据被百度搜索引擎收录的效率,对网站内容起到一定的保护 ...
最新文章
- CNN的一些可视化方法!
- beta冲刺(2/7)
- 一. DotNet MVC4.0+EasyUI Web简单框架-前言
- hdu 6035:Colorful Tree (2017 多校第一场 1003) 【树形dp】
- dellt服务器r修复,RE: 求助 Dell T 310服务器蓝屏
- to_number用法示例_Number()函数以及JavaScript中的示例
- Vijos P1217 乒乓球【模拟+输入输出】
- Shopee Games 游戏引擎演进之路
- Java面试——多线程面试题
- 药品名自动归类机器人(化药_中成药_中药材)
- Python实现一维表与二维表之间的相互转化
- canvas实现图片剪切
- ztree 更新配置后重新渲染树_zTree 树形控件 ajax动态加载数据
- Why School Essay 写作指南
- 小红书算法sign php,小红书API签名算法分析
- Linux安装Kibana详细教程
- 03 | 论文中的「文献综述」应该怎么写?
- (Ubuntu)下载及安装Genymosion模拟器并配置Android Studio
- 微信小程序是什么?如何快速搭建一个微信小程序?
- HTML5兼容HEVC视频格式且支持本地绝对路径访问
热门文章
- MySQL自定义函数
- 2022国内TMS运输管理系统排行榜
- 用Pandas做透视表
- 还记得愤怒的小鸟嘛?今天用Python给大家安排一波!
- gateway请求就是404 nacos+gateway 搭建网关gateway
- mysql允许连接表为空_mysql – 选择一个表中的所有项并与另一个表连接,允许空值...
- 根据输入的三角形的三条边a、b、c,如果可以构成三角形,计算并输出该三角形的面积和周长,否则输出“Not a Valid Triangle”。
- 【图片resize】图片三种缩放方式/letterbox_image实现
- qt导出word模板(模块化程序,直接调用保存数据到指定路径)
- HNOI2004 宠物收养所