- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
好吧,我知道 android 设备 registration_id -s 在应用程序版本更新时会发生变化。因此,一旦我在 Play 商店更新应用程序并且用户的设备将应用程序(自动)更新到新版本,我如何将通知推送到他们的设备? - 因为在那个时间间隔之间(应用程序已更新,但更新后从未打开过)设备需要重新注册。
最佳答案
当您的应用程序更新时,系统会发出两个广播:ACTION_MY_PACKAGE_REPLACED (仅发送到您的应用程序,在 API 12 (3.1) 或更高版本中可用)和 ACTION_PACKAGE_REPLACED (发送到每个应用程序,检查 Intent 上的 getData()
以获取包名称,适用于所有 API 级别)。
您可以在 AndroidManifest.xml
中创建一个 BroadcastReceiver
来监听广播并启动一个服务,然后按照 PushBullet's blog of reliable GCM 的建议向 GCM 重新注册。 .
我强烈建议在 Android 3.1+ 设备上禁用任何监听 ACTION_PACKAGE_REPLACED
广播的接收器,否则你的接收器/进程也会在其他应用程序上被触发(在这种情况下,你会想要两个接收器:一个用于 <3.1,一个用于 >=3.1 并使用 android:enabled
和 bool 资源以根据 API 级别适本地禁用它们。
关于android - App更新后推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475721/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Local executing hook after a git push? git 有许多钩子(Hook)
我是一名优秀的程序员,十分优秀!