2013-11-21 58 views
9

我正在使用AbstractAccountAuthenticator,我想單個帳戶爲我的應用程序。所以當用戶選擇爲這個應用程序添加一個新帳戶時,我想提示一條消息。我看到其他應用程序使用敬酒的消息,但由於某些原因我的不顯示。android sdk在帳戶設置中的提示Toast消息

我顯示這樣的信息:

public Bundle addAccount() { 
    if (accounts.size() > 0) { 
     Toast.makeText(context, R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED, Toast.LENGTH_LONG).show(); 
     return null; 
    } 
} 

任何想法,爲什麼?我正在從AbstractAccountAuthenticator的addAccount()方法中檢查賬號。

+0

您是否驗證了'addAccount()'被調用,而且這也是accounts.size()''其實> 0'是什麼? – Kirk

+0

是的,一切都很好,除了沒有顯示的消息 – Alex

回答

11

我一直在尋找相同的東西。以下答案對我有所幫助:1,2。使用

您的代碼示例:

private final Handler handler = new Handler(); 

public Bundle addAccount(...) { 
    if (accounts.size() > 0) { 
     final Bundle bundle = new Bundle(); 
     final String message = 
        mContext.getString(R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED); 
     bundle.putInt(AccountManager.KEY_ERROR_CODE, 1); 
     bundle.putString(AccountManager.KEY_ERROR_MESSAGE, message); 

     handler.post(new Runnable() { 
      @Override 
      public void run() { 
       Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     return bundle; 
    } 
} 
+2

請確保處理程序在addAccount方法之外定義,否則會出現錯誤(就像我一樣)。只是給所有人一個參考。 – pkramaric

+0

非常感謝你這篇文章。保存了我的一天。 – Henrik