2013-02-08 78 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

也許我可以幫你; )

相關問題