Tecno、小米、Infinix等安卓手机:如何引导用户将应用加入白名单以保障通知权限?
安卓品牌机型后台保活与通知权限引导解决方案
问题核心
应用被Tecno、小米、Infinix等品牌的安全/管家类应用关闭后,无法触发通知,需实现引导用户将应用加入后台白名单的功能。
分品牌适配实现方案
1. 小米(MIUI)
- 跳转到MIUI自启动管理页面:
Intent intent = new Intent(); intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")); startActivity(intent); - 引导文案:请开启应用的自启动权限,并在省电策略中设置为「无限制」
2. Tecno/Infinix(基于HiOS/XOS)
- 跳转到自启动管理页面:
Intent intent = new Intent(); intent.setComponent(new ComponentName("com.transsion.security", "com.transsion.security.autostart.AutoStartActivity")); if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) { startActivity(intent); } else { // 备选跳转路径 intent.setComponent(new ComponentName("com.transsion.powerkeeper", "com.transsion.powerkeeper.ui.HiddenAppsActivity")); if (getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) { startActivity(intent); } } - 引导文案:请将应用添加到后台保护白名单,关闭「一键清理」时不清除该应用
3. 通用适配方案(兜底)
- 跳转到应用详情页,引导用户手动查找权限设置:
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivity(intent); - 引导文案:请在应用设置中找到「后台权限」「自启动权限」,将应用设为允许
关键注意事项
- 跳转前需用
PackageManager.resolveActivity判断页面是否存在,避免崩溃 - 引导弹窗需明确告知用户操作目的(比如「为了保证您能及时收到通知,请完成以下设置」)
- 可结合
ActivityResultLauncher处理跳转后的回调,判断用户是否完成设置(部分机型无法直接检测,可通过重启通知服务或提示用户手动验证)
内容的提问来源于stack exchange,提问作者Ehsan
相关产品推荐
相关产品推荐

