android - 怎样在app关闭的情况下,接受推送消息?
黄舟
黄舟 2017-04-17 17:09:16
0
6
575

最近使用了极光推送,集成了里面的模块后。在app打开的情况下,接受推送消息正常,当kill掉app以后,就接受不到相关的推送信息了,并且打开app之后,也接受不到在关闭状态下发的推送消息,请问有什么好的解决方案???

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆(6)
PHPzhong

App进程被Kill之后, 让App再自行启动. 类似App: 正点闹钟(进程被强杀后, 又自行启动了)

---- 更新于 2016-12-14 -----
除了App被强杀, Android M 之后又有一个新的特性会影响第三方推送, 那就是Doze模式.
正在使用7.+系统, 微信的消息推送经常被干死, 经常要在唤醒屏幕那下才能收到消息. 出现这种情况应该就是Android M的Doze模式造成的.

知乎: Android M 的 Doze 模式下第三方推送服务还能用吗?

PHPzhong

Service

阿神

这个是实现不了的,除非使用谷歌的gcm,类似于苹果的apns推送,但在天朝估计会撞墙。所以杀死进程了,就接收不到了。但是那个关闭状态的推送再开启app的情况下是可以收到的。

PHPzhong

qq在网络状态变更时会被系统拉起,也有用时钟定时任务拉起,也可以向微信一样 启动一个守护进程

Ty80

在 Android5.0之前有各种方式可以提高 service 的存活率,但在 Android5.0后 推送的到达率非常低,后台进程的权限交给了用户,需要手动设置对应用程序的信任,这样在 APP 被 kill 掉后 service 可继续存活。大概看过 QQ 之类大厂的应用,是安装后自动被信任的,应该是与硬件厂商有协议,硬件厂商有白名单什么的,猜的。
关于再次打开 APP 接收不到之前推送的消息,不太了解极光,大概想法是,推送的消息有到达的统计,使用监控未到达的设备,当设备启动 APP 时会有对极光的验证之类的,相当于该设备在线,此时再次发送未到达的通知。

黄舟

Github 上有个帖子就是讨论这个问题的,建议看下:https://github.com/android-cn...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!