我不太确定我的问题是否正确,但如果您只想实现从帐户列表中进行选择的可能性,您将有几个选项。
选项1
我选择的是一个简单的对话框弹出窗口,其中包含帐户。像这样覆盖您的活动(用于获取帐户的活动)中的 onCreateDialog:
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_ACCOUNTS:
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Title");
final int size = accounts.length;
String[] names = new String[size];
for (int i = 0; i < size; i++) {
names[i] = accounts[i].name;
}
builder.setItems(names, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Stuff to do when the account is selected by the user
handleSelectedAccount(accounts[which]);
}
});
return builder.create();
}
return null;
}
注意: accounts 是获取到的账号列表。
要显示弹出窗口,只需调用:showDialog(DIALOG_ACCOUNTS)。
选项 2
从 Android 4.0 开始,AccountManager 可以通过以下方式生成用于帐户选择的 Activity
Intent intent = AccountManager.newChooseAccountIntent(null, null,
new String[] { "com.google" }, false, null, null, null,
null);
我在这里找到了这个解决方案:http: //blog.tomtasche.at/2013/05/google-oauth-on-android-using.html
也许我可以帮助你;)