我正在使用GCM开发Android App .
我通过以下代码获得registrationId以发送推送通知,然后将其存储在SharedPreferences中 .
registrationId = gcm.register("xxxxx");
当我的应用程序通过备份工具从一个设备传输到另一个设备时,我想每个存储在SharedPreferences中的数据都会被传输 .
然后我认为上面的registrationId在新设备中没有活动 .
这是真的吗?
如果是,那么解决这个问题的最佳方法是什么?
我应该总是获得最新的registrationId,然后如果它与存储在SharedPreferences中的那个不同,重新保存新的吗?
1 回答
是的,它是真实的 . “对于使用Google Cloud 消息传递(GCM)进行推送通知的应用,备份Google Cloud Messaging注册返回的注册令牌可能会导致已恢复应用的通知出现意外行为 . 这是因为当用户在新设备上安装您的应用时,应用程序必须向GCM API查询新的注册令牌 . 如果旧注册存在,因为系统已备份并恢复它,应用程序不会寻找新令牌 . 为了防止此问题出现,请排除来自备份文件集的注册令牌 . “ - 来自developers.android.com