我可以在Facebook上使用android的同步适配器吗?

问题描述:

我知道我可以使用facebook SDK来允许用户登录到我的应用程序。我也读过,最好是使用SDK而不是accountmanager,因为token过期以及Facebook应用程序我没有安装在设备上。我希望能够使用同步适配器将数据从设备同步到服务器。我可以在Facebook上使用android的同步适配器吗?

由于我通过SDK对用户进行了身份验证,但没有使用accounmanager,我仍然可以使用同步适配器和用户使用的帐户登录吗?

是的,但同步适配器需要一个帐户,因此您必须按照同步适配器文档中的说明在帐户管理器中为您的同步适配器创建一个虚拟帐户。 http://developer.android.com/training/sync-adapters/creating-sync-adapter.html#CreateAccountTypeAccount

您的同步适配器基本上会忽略此dummy account参数以执行同步。用户登录帐户与您的同步适配器无关。你感兴趣的是用户的Facebook帐户。您需要在SharedPreferences中存储某些信息,以便您的同步适配器可以使用它来知道在使用Facebook sdk授权时需要哪些用户和其他任何详细信息。

您的应用程序需要一个活动,让用户最初使用Facebook登录,以便您可以将详细信息保存在共享首选项中。然后它可以启用同步适配器。

+0

我在想检查,如果用户已经在与Facebook登录,则不能我只是检索与syncadapter其他应用存储的凭据? – CQM

+0

如果facebook sdk提供这种单点登录,则可以这样做。就我个人而言,我不会让用户在设置中更改应用程序使用的Facebook帐户。 –

+0

它更多的可用凭证检查,以确定当前用户一些独特的东西,并提供使用这些,而不是与登入/注销阵痛用户面临的 - 他们可选配做设置,如果他们想要的。因此,应用程序将检查用户是否在他们的Android系统,它是由具有安装在所有的Facebook应用程序生成的具有“脸谱”账号了。你知道,如果SyncAdapter与我想象 – CQM