android应用退出后广播无效,关闭应用程序后,保持广播接收器运行
我认为接受的答案不是实际答案。我将解释问题所在。我认为您是在Huawie,Oppo,Vivo,Xiomi,asus .......或某些设备上测试您的应用程序。使用这些设备,如果我们关闭应用程序,它们还将关闭我们的广播接收器。因此,这就是问题。(要检查是否使用带有像素关系的模拟器)。我将解释如何解决这个问题。''
我们会将我们的应用添加到受保护的应用列表中。OS仅允许他们继续广播接收机的活动。(将此数组声明复制到您的代码中)
private static final Intent[] POWERMANAGER_INTENTS = {
new Intent().setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")),
new Intent().setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity")),
new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity")),
new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.startupapp.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.oppo.safe", "com.oppo.safe.permission.startup.StartupAppListActivity")),
new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity")),
new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.BgStartUpManager")),
new Intent().setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")),
new Intent().setComponent(new ComponentName("com.samsung.android.lool", "com.samsung.android.sm.ui.battery.BatteryActivity")),
new Intent().setComponent(new ComponentName("com.htc.pitroad", "com.htc.pitroad.landingpage.activity.LandingPageActivity")),
new Intent().setComponent(new ComponentName("com.asus.mobilemanager", "com.asus.mobilemanager.MainActivity"))};
将这些代码放入您的onCreate方法。在这里,我使用共享首选项仅在应用程序首次打开时对其进行检查。
final SharedPreferences.Editor pref = getSharedPreferences("allow_notify", MODE_PRIVATE).edit(); pref.apply(); final SharedPreferences sp = getSharedPreferences("allow_notify", MODE_PRIVATE);
if(!sp.getBoolean("protected",false)) {
for (final Intent intent : POWERMANAGER_INTENTS)
if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Alert Title").setMessage("Alert Body")
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
startActivity(intent);
sp.edit().putBoolean("protected",true).apply();
}
})
.setCancelable(false)
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.create().show();
break;
android应用退出后广播无效,关闭应用程序后,保持广播接收器运行相关推荐
- loadrunner11,卸载360浏览器后提示“无效的应用程序路径!请检查应用程序是否存在!
我安装的loadrunner是11版本的,安装之前我的电脑上有安装了很多的浏览器,结果一开始录制脚本的时候,页面直接跳转到360浏览器上面了,但是显示正在录制的脚本为0个,于是就把360给卸载了,进行 ...
- 安装loadrunner11,卸载360浏览器后提示“无效的应用程序路径!请检查应用程序是否存在!
我安装的loadrunner是11版本的,安装之前我的电脑上有安装了很多的浏览器,结果一开始录制脚本的时候,页面直接跳转到360浏览器上面了,但是显示正在录制的脚本为0个,于是就把360给卸载了,进行 ...
- 安装loadrunner11,卸载360浏览器后提示“无效的应用程序路径!请检查应用程序是否存在!”...
我安装的loadrunner是11版本的,安装之前我的电脑上有安装了很多的浏览器,结果一开始录制脚本的时候,页面直接跳转到360浏览器上面了,但是显示正在录制的脚本为0个,于是就把360给卸载了,进行 ...
- XenApp For Windows 2016 关闭程序后无法结束进程
XenDesktop7.15 LSTR CU1 VDA:Windows 2016 场景:通过XenApp方式打开一个已发布的应用程序,关闭应用程序后会话没有结束,在服务器上继续驻留,除了继续占用服务器 ...
- android推送服务不被关闭,Android APP被关闭后无法收到推送消息(尝试)
1. Android端进程被杀死后,目前自带的保护后台接收消息活跃机制.暂时没有什么好的机制保持任何情况下都活跃 文章参考:http://blog.csdn.net/marswin89/artic ...
- android禁用应用组件,Android彻底退出(关闭)应用程序.docx
Android彻底退出(关闭)应用程序.docx 做android开发时,发现一个关于android退出时不能彻底关闭的问题,比如:一个程序里new?出了N多个Thread,这样在退出程序的可能不能完 ...
- Android webview退出后崩溃问题(OPPO和vivo手机有问题)
Android webview退出后崩溃问题(OPPO和vivo手机有问题) android.view.WindowManager$BadTokenException: Unable to add w ...
- 苹果id退出后数据还在吗_答疑你的手机连接WiFi后,会关闭移动数据吗?
十万人测评俱乐部Q群:631042704 ZEALER极客交流Q群:414894623 最近几天,深圳的高温天气让人十分抓狂,稍微动一动就大汗淋漓.在这种烧烤天里,最舒服的事,莫过于在空调房里连着Wi ...
- Android进程退出的方法
在应用退出的时候需要将本身的进程kill掉,进而节省内存.怎样kill掉进程呢,首次使用了android.os.Process.killProcess(android.os.Process.myPid ...
最新文章
- ADO与ADO.NET
- uglifyjs压缩JS
- JZOJ 1422. 猴子摘桃
- [TCP/IP] SSL的通讯原理
- 区块链100讲:区块链的TPS性能
- 设计模式之美:Builder(生成器)
- 生成交叉表的SQL基本语句
- d3.js 旋转图形_PROE、Creo绘制手轮图形案例,二维草图绘制练习项目
- 干货 | 日均5亿字符翻译量,百毫秒内响应,携程机器翻译平台实践
- 北航计算机专业最低分,北京航空航天大学历年录取分数线多少及各省最低投档线统计表...
- 洛谷-P1007-魔法少女
- nepctf2021
- Hadoop和HBase集群的JMX监控
- 顾问风采 | LF AI Data 基金会完成换届,堵俊平担任董事会主席、星爵担任会员总代表...
- 计算机复制操作的方法,怎么用键盘复制粘贴?电脑使用键盘复制粘贴的方法
- MPLAB X IDE开发环境
- MySQL学习(三) 数据类型约束、TCL语言、流程控制
- 虚拟专用网的技术分析
- YouTube-8M 数据集介绍与使用总结
- Apache Apisix 安全漏洞(CVE-2020-13945)