gpt4 book ai didi

Android AccountManager 在使用 getAuthToken 功能时是否可以自定义返回帐户列表的布局

转载 作者:行者123 更新时间:2023-11-29 21:49:34 27 4
gpt4 key购买 nike

当我调用

AccountManager.get(this).getAuthTokenByFeatures(Constants.ACCOUNT_TYPE, Constants.AUTHTOKEN_TYPE, null, this, null, null, 
new AccountManagerCallback<Bundle>()

这是在我重写的 addAccount 方法中为 AbstractAccountAuthenticator 实现的设置

如果没有设置帐户,我会使用添加新帐户的 Activity ,这很好,但是如果有多个帐户,我会看到一个帐户列表,我可以从中进行选择。我希望通过我尚未创建的 AccountsListActivity 自定义此列表,以更接近地表示 Android 系统中内置的帐户和同步选项。

是否可以设置一个 Activity 来处理以相同方式返回帐户列表时发生的情况,我该怎么做?我知道如何编写类我只需要知道如何调用类而不是简单的帐户名称列表

如果不能,我有什么选择?

最佳答案

我不太确定我是否答对了你的问题,但如果你只想实现从帐户列表中进行选择的可能性,你会有几个选择。

选项 1

我想要的是一个简单的对话框弹出窗口,其中包含帐户。像这样覆盖您的 Activity (您用来获取帐户的 Activity )中的 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可以通过

生成Account选择的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

也许我可以帮到你 ;)

关于Android AccountManager 在使用 getAuthToken 功能时是否可以自定义返回帐户列表的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14777409/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com