Android应用开发:如何获取Google Gmail帐户凭据以自动发送电子邮件?

时间:2012-02-14 10:09:08

标签: android passwords gmail accountmanager uid

我正在尝试创建一个使用Gmail帐户自动发送电子邮件的应用程序。

如果用户已在其Android设备中添加了Gmail帐户,我不希望用户输入用户名和密码,但我希望应用程序使用该帐户自动发送电子邮件。

我已经知道如何获取用户名和密码但是当我要求输入密码时,我收到以下错误:

02-14 10:53:40.660: E/AndroidRuntime(23719): Caused by: java.lang.SecurityException: caller uid xxxxx is different than the authenticator's uid

其中xxxxx是UID号码。 我的代码是这样的:

 AccountManager manager = AccountManager.get(this);
 Account[] accounts = manager.getAccountsByType("com.google");
 for (Account account : accounts){
   if(account.name.endsWith("gmail.com")){
      String gmailAddress = account.name;
      String password = manager.getPassword(account);
   }
 }

请提供我的示例代码或链接以阅读它。不要再给我任何东西了。 许多他人

2 个答案:

答案 0 :(得分:0)

只有当您共享相同的UID时,才能获得Google帐户凭据。当您编写自己的应用程序时,这是不可能的。我认为您需要使用生成的AuthToken ehen Ever用户在手机中注册帐户。您可以交换带有访问令牌的身份验证令牌,以便自动发送邮件..

答案 1 :(得分:0)

你应该包括

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

AndroidManifest.xml

的许可