我正在开发一个应用程序,我希望使用Gmail凭据以编程方式发送邮件,我知道如何使用设备邮件ID和令牌AccountManager.请建议我如何使用带有一些代码或教程的凭据发送邮件.我是Android新手.请提前帮助我...
IPL*_*L10 10
经过非常努力的工作,我现在可以使用Oauth 2登录Google.现在我在这里分享,因为很多问题在这里都没有答案.以下步骤需要登录Google.
1-使用您的设备选择一个帐户
public static AccountManager accountManager;
accountManager = AccountManager.get(this);
Account[] accounts = accountManager.getAccountsByType("com.google");
Run Code Online (Sandbox Code Playgroud)
2-使用选定帐户获取令牌
private void onAccountSelected(final Account account) {
accountManager.getAuthToken(account, AUTH_TOKEN_TYPE, null, this, new AccountManagerCallback<Bundle>() {
public void run(AccountManagerFuture<Bundle> future) {
try {
String token = future.getResult().getString(AccountManager.KEY_AUTHTOKEN);
useToken(account, token);
} catch (OperationCanceledException e) {
onAccessDenied();
} catch (Exception e) {
handleException(e);
}
}
}, null);
Run Code Online (Sandbox Code Playgroud)
}
3-现在使用用户帐户和令牌验证令牌.你将能够登录谷歌.
注意:有时候令牌未经授权登录,因此您需要使令牌无效.
4-要重新登录,您必须使用令牌无效
accountManager.invalidateAuthToken("com.google", token);
Run Code Online (Sandbox Code Playgroud)
5-无效后你必须使用一个新的令牌
String newToken = AccountManager.get(this).getAuthToken(new Account(account, "com.google"),
AUTH_TOKEN_TYPE, true, null, null).getResult().getString(AccountManager.KEY_AUTHTOKEN);
Run Code Online (Sandbox Code Playgroud)
6-在AndroidManifest.xml中添加以下使用权限
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS"/>
Run Code Online (Sandbox Code Playgroud)
这就是你所需要的,现在享受
| 归档时间: |
|
| 查看次数: |
8371 次 |
| 最近记录: |