我正在为我的应用实现同步适配器以与appengine后端同步。在appengine上我使用内置的User api进行身份验证。有一个帖子HERE告诉如何操作,但该应用程序列在gmail帐户下。理想情况下,我的应用程序将列在帐户中。我不想要求用户输入用户名和密码,只需使用现有的Google帐户进行身份验证即可。有谁做过这个?
更新: 我一直在研究这个问题,看起来我可以实现AuthenticationService并存储用户帐户名并将密码保留为空字符串。在getAuthToken()方法中,我应该能够简单地返回google身份验证令牌。一旦我走得更远就会发布...
答案 0 :(得分:3)
也许您误解了Android帐户系统。当你去设置 - >账户&同步并添加新帐户,然后查看帐户类型列表。通常,帐户类型和应用程序之间存在关系,例如Facebook帐户与Facebook一起使用。通常,如果您使用不同的后端系统来处理身份验证等,则会添加新的帐户类型。
如果我理解正确,您可以使用Google帐户,但希望它显示为您自己的帐户类型。这对我来说听起来不对。您最终会重新实现Google帐户处理,几乎没有价值。我相信如果您只是依靠谷歌提供给您的东西,它对用户来说更简单。点击该帐户可以看到您的应用/服务/内容提供商。例如,在installing "Tasks" by "Team Task"之后(免责声明:我不隶属于该公司),他们将“同步任务”添加到数据列表中。同步选项。
但是,如果您确实想要创建自己的帐户类型,请按照示例Sample Sync Adapter进行操作。查找Authenticator代码和相关资源(例如,清单,活动布局等)。
答案 1 :(得分:2)
这确实是可能的,我已经成功地实现了这一点,但要警告它有点头疼。
有一个名为writing-an-android-sync-provider-part-1
的优秀教程...不要忘记查看part 2
中的跟进除此之外,还有一个名为SampleSyncAdapter的Android SDK示例中的示例,这在我的开发中非常宝贵。
通过一点努力工作和大量咖啡,你应该能够让它工作;)