Android 获取电子邮件地址后获取姓名和图片

Android 获取电子邮件地址后获取姓名和图片,android,email,accountmanager,Android,Email,Accountmanager,我通过账户经理获得用户的电子邮件地址,代码如下: package g.login; import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerCallback; import android.accounts.AccountManagerFuture; import android.app.Activity; import andr

我通过账户经理获得用户的电子邮件地址,代码如下:

package g.login;

import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class GLogin extends Activity {

    private AccountManager _accountMgr = null;
    private GLogin _this;

    /** Called when the activity is first created. */
    @Override    
    public void onCreate(Bundle savedInstanceState) {

        _this = this;

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        try {
            _accountMgr = AccountManager.get(this);
            Account [] accounts = _accountMgr.getAccountsByType("com.google");
            String accountsList = "Accounts: " + accounts.length + "\n";
            for (Account account : accounts) {
                accountsList += account.toString() + "\n";
            }
            setMessage(accountsList);
        } catch (Exception e) {
            setMessage(e.toString());
        }

        Button loginBtn = (Button) findViewById(R.id.login);
        loginBtn.setOnClickListener(mLoginListener);
    }

    private OnClickListener mLoginListener = new OnClickListener() {
        public void onClick(View v) {
            try {
                Account [] accounts = _accountMgr.getAccounts();
                if (accounts.length == 0) {
                    setResult("No Accounts");
                    return;
                }
                Account account = accounts[0];
                _accountMgr.getAuthToken(account, "mail", false, new GetAuthTokenCallback(), null);
            } catch (Exception e) {
                setResult(e.toString());
            }
        }
    };

    private class GetAuthTokenCallback implements AccountManagerCallback<Bundle> {
        public void run(AccountManagerFuture<Bundle> result) {
            Bundle bundle;
            try {
                bundle = result.getResult();
                Intent intent = (Intent)bundle.get(AccountManager.KEY_INTENT);
                if(intent != null) {
                    // User input required
                    startActivity(intent);
                } else {
                    _this.setResult("Token: " + bundle.getString(AccountManager.KEY_AUTHTOKEN) + "\n" +
                            "KEY_ACCOUNT_NAME: " + bundle.getString(AccountManager.KEY_ACCOUNT_NAME));
                    Log.e("TOKEN", bundle.getString(AccountManager.KEY_AUTHTOKEN));
                }
            } catch (Exception e) {
                _this.setResult(e.toString());
            }
        }
    };

    public void setResult(String msg) {
        TextView tv = (TextView) this.findViewById(R.id.result);
        tv.setText(msg);
    }

    public void setMessage(String msg) {
        TextView tv = (TextView) this.findViewById(R.id.message);
        tv.setText(msg);
    }
}
g.login包;
导入android.accounts.Account;
导入android.accounts.AccountManager;
导入android.accounts.AccountManagerCallback;
导入android.accounts.accountmanager未来;
导入android.app.Activity;
导入android.content.Intent;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.TextView;
公共类GLogin扩展活动{
private AccountManager\u accountMgr=null;
二等兵格洛金;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
_这个=这个;
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
试一试{
_accountMgr=AccountManager.get(此);
账户[]账户=_accountMgr.getAccountsByType(“com.google”);
字符串accountsList=“Accounts:+Accounts.length+”\n”;
用于(账户:账户){
accountsList+=account.toString()+“\n”;
}
设置消息(accountsList);
}捕获(例外e){
setMessage(例如toString());
}
按钮登录tn=(按钮)findViewById(R.id.login);
loginBtn.setOnClickListener(mLoginListener);
}
私有OnClickListener mLoginListener=新OnClickListener(){
公共void onClick(视图v){
试一试{
账户[]账户=_accountMgr.getAccounts();
如果(accounts.length==0){
setResult(“无账户”);
返回;
}
账户=账户[0];
_accountMgr.getAuthToken(帐户,“邮件”,false,新GetAuthTokenCallback(),null);
}捕获(例外e){
setResult(例如toString());
}
}
};
私有类GetAuthTokenCallback实现AccountManagerCallback{
公共作废运行(AccountManagerFuture结果){
束;
试一试{
bundle=result.getResult();
Intent Intent=(Intent)bundle.get(AccountManager.KEY\u Intent);
if(intent!=null){
//需要用户输入
星触觉(意向);
}否则{
_this.setResult(“令牌:”+bundle.getString(AccountManager.KEY\u AUTHTOKEN)+“\n”+
“密钥帐户名称:”+bundle.getString(AccountManager.KEY\u ACCOUNT\u NAME));
Log.e(“TOKEN”,bundle.getString(AccountManager.KEY_AUTHTOKEN));
}
}捕获(例外e){
_this.setResult(例如toString());
}
}
};
公共void setResult(字符串msg){
TextView tv=(TextView)this.findViewById(R.id.result);
tv.setText(msg);
}
公共无效设置消息(字符串消息){
TextView tv=(TextView)this.findViewById(R.id.message);
tv.setText(msg);
}
}
我能够提取authtoken和帐户名(类似example@gmail.com). 我的问题是,收到这封电子邮件后,我如何才能获得用户的其他详细信息,如真实姓名(如果共享)、个人资料图片等