2013-02-08 48 views
1

时返回帐户列表布局当我做出的Android的AccountManager是否可以自定义使用getAuthTokenByFeatures

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

电话本是建立在我实施AbstractAccountAuthenticator在重写addAccount方法

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

是否可以设置一个活动来处理以相同方式返回的帐户列表时发生的情况,以及我将如何执行该操作?我知道如何编写课程我只需要知道如何去获得班级名称而不是简单的帐户名称

如果不是我有什么替代方案?

回答

2

我不太确定如果我的问题得到了解决,但如果您只是想实现从帐户列表中进行选择的可能性,您将有几个选项。

选项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; 
} 

注:帐户是获得帐户列表。

要显示弹出窗口,只需调用:showDialog(DIALOG_ACCOUNTS)。

选项2

由于Android 4.0的AccountManager可以产生通过

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

也许我可以帮你; )

相关问题