我知道我可以使用 facebook SDK 来允许用户登录我的应用程序。我还读到最好使用 SDK 而不是 accountmanager,因为令牌过期,而且设备上没有安装 facebook 应用程序。我希望能够使用同步适配器将数据从设备同步到服务器。
由于我是通过 SDK 对用户进行身份验证,而不是使用 accounmanager,我仍然可以使用同步适配器和用户使用的帐户登录吗?
我知道我可以使用 facebook SDK 来允许用户登录我的应用程序。我还读到最好使用 SDK 而不是 accountmanager,因为令牌过期,而且设备上没有安装 facebook 应用程序。我希望能够使用同步适配器将数据从设备同步到服务器。
由于我是通过 SDK 对用户进行身份验证,而不是使用 accounmanager,我仍然可以使用同步适配器和用户使用的帐户登录吗?
是的,但是同步适配器需要一个帐户,因此您必须按照同步适配器文档中的说明在帐户管理器中为您的同步适配器创建一个虚拟帐户。http://developer.android.com/training/sync-adapters/creating-sync-adapter.html#CreateAccountTypeAccount
您的同步适配器基本上会忽略这个虚拟帐户参数来执行同步。用户用于登录的帐户与您的同步适配器并不真正相关。您感兴趣的是用户的 facebook 帐户。您需要在 SharedPreferences 之类的某处存储一些信息,您的同步适配器可以使用这些信息来了解它在使用 facebook sdk 授权时需要的用户和任何其他详细信息。
您的应用需要一个活动来让用户最初使用 facebook 登录,以便您可以将详细信息保存在共享首选项中。然后它可以启用同步适配器。