在Android中,可以使用AccountManager类的newChooseAccountIntent方法来创建一个选择账户的意图,示例代码如下:
import android.accounts.AccountManager;
import android.content.Intent;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
private static final int REQUEST_CODE_CHOOSE_ACCOUNT = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建选择账户的意图
Intent chooseAccountIntent = AccountManager.newChooseAccountIntent(null, null,
null, null, null, null, null);
// 设置不要求创建账户
chooseAccountIntent.putExtra(AccountManager.KEY_ACCOUNT_OPTIONS, new Bundle());
chooseAccountIntent.putExtra(AccountManager.KEY_ADD_ACCOUNT_OPTIONS, new Bundle());
chooseAccountIntent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, null);
chooseAccountIntent.putExtra(AccountManager.KEY_ACCOUNT_NAME, null);
chooseAccountIntent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, null);
// 启动选择账户的意图
startActivityForResult(chooseAccountIntent, REQUEST_CODE_CHOOSE_ACCOUNT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_CHOOSE_ACCOUNT && resultCode == RESULT_OK) {
// 处理选择账户结果
String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
String accountType = data.getStringExtra(AccountManager.KEY_ACCOUNT_TYPE);
// 进一步处理选中的账户名称和类型
}
}
}
以上示例代码在onCreate
方法中创建了选择账户的意图,并通过putExtra
方法设置了不要求创建账户的相关参数。然后通过startActivityForResult
方法启动选择账户的意图。在onActivityResult
方法中处理选择账户的结果,获取选中的账户名称和类型。
上一篇:Account类中指定了未知字段(username)。检查AccountAdmin类的字段/字段集/排除属性。
下一篇:AccountManager.newChooseAccountIntentandnoavalaibleaccount