Ionic 3应用关闭后无法接收推送,需配置自启动权限
解决Ionic Native Push插件在应用关闭后无法接收推送的问题
我之前做Ionic推送功能时也踩过一模一样的坑——前台后台接收都正常,一把应用完全关掉就收不到推送,查了半天才发现是自启动权限没开启的锅!很多安卓厂商为了省电,默认会限制第三方应用的自启动,这就导致推送服务没法在应用关闭后唤醒你的应用进程。
结合你提供的意大利语截图,给你整理了具体的解决步骤:
先搞定自启动权限开启
对应意大利语的操作路径大概是这样:打开手机设置(Impostazioni)→ 应用管理(Gestione app)→ 找到你的目标应用 → 权限(Autorizzazioni)→ 自启动(Avvio automatico)→ 勾选允许(Consenti)
注意不同安卓品牌的路径可能略有不同,比如小米是“设置→应用设置→权限管理→自启动”,华为是“设置→应用和服务→权限管理→自启动”,核心就是找到应用的自启动开关打开就行。优化Ionic项目的推送配置
确保你的config.xml里已经配置了正确的后台唤醒相关参数,这样系统才能在推送到达时正确唤起应用:<platform name="android"> <config-file parent="/manifest/application" target="AndroidManifest.xml"> <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" /> <receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="${applicationId}" /> </intent-filter> </receiver> </config-file> </platform>最后别忘了测试和额外优化
开启权限后完全关闭应用,发个测试推送试试。如果还是不行,去Firebase控制台把推送消息的priority设为high(安卓平台),高优先级的推送更容易突破系统的限制。另外,有些厂商的“省电模式”“应用速冻”也要把你的应用排除,避免进程被彻底冻结。
内容的提问来源于stack exchange,提问作者Bistaff
相关产品推荐
相关产品推荐

