0

有没有办法通过克服 SecurityException 来获取 Gmail 用户帐户的密码。

我正在在没有用户提示的情况下在后台发送电子邮件。我用于此的 javamail API 需要发送电子邮件的帐户的用户名和密码。我在android中使用AccountManger获取密码时遇到了麻烦。

4

1 回答 1

1

幸运的是,没有。该ActivityManager.getPassword()调用只允许与身份验证器模块具有相同 UID 的应用程序(在本例中为 Google 应用程序)调用。即使您设法调用它,它也不会存储实际密码,而是存储密码的加密版本或主令牌。您可以在此处找到有关其工作原理的更多详细信息:http: //nelenkov.blogspot.jp/2012/11/android-online-account-management.html

不过,Google 的 SMTP 服务器确实支持 OAuth2 令牌代替密码,因此您可以从中获取令牌AccountManager并使用它来进行身份验证和发送电子邮件。详情在这里:

https://developers.google.com/google-apps/gmail/oauth_overview

于 2012-11-30T02:18:12.010 回答