我的应用程序允许人们使用和管理他们的数据,无论他们是否已登录。但是,由于我唯一地识别每个设备,我也希望同步来自我的匿名用户(不是已登录的用户)的数据。所以,我想知道在这种情况下创建一个匿名帐户是否是一个好习惯,因为SyncAdapters只能用于帐户。
我应该为我的匿名用户创建一个帐户,还是应该将他们的数据与线程/ AsyncTasks / Loaders同步?特别是,有没有办法让ContentResolver.requestSync()在不需要帐户的情况下工作?
答案 0 :(得分:5)
在Android中使用SyncAdapter / AccountManager坦率地说比它的价值更麻烦。只有当您希望大量其他应用程序想要共享您的帐户数据(例如Twitter或Facebook)时,才能最好地使用该特定模式。
我建议你只编写自己的后台Service
实现来进行同步。您可以使用AlarmManager
通知服务定期同步。否则,您只需在用户使用基本AsyncTask
打开您的应用程序时进行同步。