这是什么意思:应该明确地设置“android:fullBackupContent”来避免备份GCM设备特定的regId?

这个Lint警告是什么意思:

应该明确地设置'android:fullBackupContent'来避免备份GCM设备特定的regId?

我GOOGLE了,但还没有发现任何东西。

Solutions Collecting From Web of "这是什么意思:应该明确地设置“android:fullBackupContent”来避免备份GCM设备特定的regId?"

部分令人不安的 “应用程序自动备份”是通过android:fullBackupContent来控制备份文件的android:fullBackupContent 。 该属性指向一个XML资源(例如@xml/backup_rulez ),它描述了控制备份的白名单或黑名单。

Lint警告警告您不会备份GCM注册ID,因为这是每个设备,所以如果您的应用程序的数据从备份恢复到新设备上,则需要重新生成。 就我个人而言,我不知道GCM在哪里存储注册ID。

CommonsWare是正确的。 但是,GCM不会为您存储该regid – GCM快速启动程序用于build议(自此更新后)将其存储在共享的prefs文件中。 lint规则检测到你已经为GCM声明了一个接收者,因此假设你在某处存储了regid。 由于您尚未在清单中声明fullBackupContent标志,因此警告您应用程序可能会跨越恢复。 您可以使用fullBackupContent来排除或包含任何您不想离开设备并在其他设备上恢复的数据(例如gcm实例id令牌)

更多细节在这里

关于林特的警告,让我在这里更具体一些。

正如在自动备份服务的已知问题中所述:

备份Google Cloud Messaging注册返回的注册ID可以中断已恢复应用程序的推送通知

因此,build议从备份文件组中排除gcm注册ID。 每当应用程序恢复时,查询新的注册ID。