Android MarshMallow自动备份 - 我现在需要排除设备特定信息,如GCM ID吗?

时间:2016-01-24 02:33:49

标签: android android-6.0-marshmallow android-backup-service

以下是play service backup and restore for MarshMallow

的一些信息

正如您所见,现在不需要BackupAgentHelper。开发人员无需备份应用程序,在用户设置中切换以关闭和打开应用程序。现在假设我已经存储在sharedPreference中的GCM注册ID,现在用户切换设备并进行自动备份。旧的GCM ID将包含在还原中,新设备将不会注册GCM,因此不符合远程通知的条件。

所以在我看来,我是否必须写一个备份方案xml文件来排除gcm ID,如果是这样我该怎么做:通过排除xml我的意思是清单的应用程序标签中的这个属性:android:fullBackupContent="@xml/mybackupscheme"

1 个答案:

答案 0 :(得分:1)

是的,我们需要排除GCM ID。 Android documentation表示......

  

对于使用Google云消息传递(GCM)进行推送通知的应用,   备份Google Cloud Messaging的注册令牌   返回的注册可能会导致通知中的意外行为   为恢复的应用程序。这是因为当用户安装您的应用程序时   一个新设备,应用程序必须查询GCM API以进行新注册   令牌。如果旧的注册存在,因为系统有   备份并恢复它,应用程序不寻求新的令牌。至   防止出现此问题,从中排除注册令牌   备份文件集。

有关如何排除的详细信息,请参阅here