是否有办法通过克服SecurityException来获取Gmail用户帐户的密码。
我正在努力在没有用户提示的情况下在后台发送电子邮件。我用于此的javamail API需要用于发送电子邮件的帐户的用户名和密码。我在Android中使用AccountManger获取密码时遇到了麻烦。
答案 0 :(得分: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