7

我正在为我的应用程序实现一个同步适配器,以与 appengine 后端同步。在 appengine 上,我使用内置的 User api 进行身份验证。有一个帖子在这里告诉如何做到这一点,但是该应用程序列在 gmail 帐户下。理想情况下,我的应用程序会列在帐户中。我不想向用户询问用户名和密码,只需使用现有的 google 帐户进行身份验证。以前有人做过吗??

更新:我一直在研究这个,看起来我可以实现 AuthenticationService 并存储用户帐户名并将密码保留为空字符串。在 getAuthToken() 方法中,我应该能够简单地返回谷歌身份验证令牌。一旦我进一步相处就会发布......

4

2 回答 2

3

或许你对安卓账号系统有误解。当您转到 Settings -> Accounts & Sync 并添加一个新帐户时,您会看到一个帐户类型列表。帐户类型和应用程序之间通常存在关系,例如 Facebook 帐户与 Facebook 一起使用。通常,如果您有不同的后端系统来处理身份验证等,您会添加一个新的帐户类型。

如果我理解正确,您使用 Google 帐户但希望它显示为您自己的帐户类型。这对我来说听起来不对。您最终会重新实现 Google 帐户处理,但价值不大。我相信,如果您只是简单地利用 Google 为您提供的内容,对用户来说会更简单。单击帐户时可以看到您的应用程序/服务/内容提供商。例如,在通过“团队任务”安装“任务”(免责声明:我不隶属于该公司)后,他们将“同步任务”添加到数据和同步选项列表中。

但如果您真的想创建自己的帐户类型,请遵循示例同步适配器示例。查找Authenticator代码和相关资源(例如,清单、活动布局等)。

于 2012-05-22T13:11:57.637 回答
2

这确实是可能的,我已经成功地实现了这一点,但要注意这有点让人头疼。

有一个很棒的教程,叫做writing-an-android-sync-provider-part-1

...不要忘记检查第2 部分中的后续内容

除此之外,Android SDK 示例中还有一个名为SampleSyncAdapter的示例,它在我的开发中非常有用。

通过一点努力和大量咖啡,您应该能够完成这项工作;)

于 2012-05-22T17:22:20.243 回答