2

我正在尝试创建一个使用 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);
   }
 }

请给我一个示例代码或链接以阅读它。不要给我其他任何东西。许多Thaks

4

2 回答 2

0

你应该包括

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

允许您的AndroidManifest.xml

于 2013-09-07T10:15:10.800 回答
0

仅当您共享相同的 UID 时才有可能获得谷歌帐户凭据,而这在您编写自己的应用程序时是不可能的。我认为您需要使用在用户在手机中注册帐户时生成的 AuthToken。您可以与访问令牌以自动发送邮件..

于 2012-02-14T10:58:27.140 回答