我的问题是,如果我使用 AccountPicker.newChooseAccountIntent 意图并且用户选择了一个帐户,我会在 onActivityResult 中得到它的电子邮件地址,这是否已经由 Android 以某种方式验证,以确保用户必须输入帐户的正确密码?
是的,当然这意味着该帐户已设置好,即用户在某些时候输入了正确的用户名和密码。
通过这个我想问,是否有可能获得用户无权使用的电子邮件地址。我是否需要进一步检查电子邮件地址以验证它是否属于用户?
不,该电子邮件地址已在该设备上设置(通过输入正确的密码),您无需进一步验证。用户是否仍然可以登录该帐户(如果密码已更改),这是未知的。
我的应用程序是关于用户的短信的,所以我不想让黑客通过选择他们没有密码的帐户来访问这些信息。
如果有人设法闯入您用户的 Google 帐户,那是另一回事,您无法保护您的用户免受此类事情的侵害,他们应该使用安全密码等保护自己。如果您的用户丢失了他/她的手机,或者手机被盗,他/她可能会更改他们的 Google 密码,但该帐户将在他们丢失/被盗的手机上保持设置;新用户将无法登录 GMail,但他将被允许访问您的应用程序。
我想使用他的 Google 帐户验证我的应用程序的用户,因为这是在多个设备上验证用户的最简单方法。
我不会声称这是最简单的方法。首先,Android 用户可能没有 Google 帐户,他没有义务拥有一个。其次,您的应用似乎要访问互联网,以便拥有一个集中的用户数据库。您确定您的网络应用程序足够安全,以至于黑客不会仅使用 Google 帐户的用户名对其进行身份验证吗?如果您想为您的用户提供您的服务的网络界面,那么当然只有 Google 用户名是不够的。
这是您问题的正确答案,但我不太确定它是否能解决您的问题。
顺便说一句,问题中提到的所有内容,并且在此答案中不称为身份验证。你什么都没做,你宁愿试图避免它。