2013-11-21 27 views
9

Sto utilizzando un AccountAccount astratto e desidero creare un account per la mia app. Quindi, quando l'utente sta optando per aggiungere un nuovo account per questa app, desidero richiedere un messaggio. Ho visto altre app utilizzare un brindisi per il messaggio, ma per alcuni motivi il mio non viene visualizzato.messaggio di risposta rapida sdk android nelle impostazioni dell'account

ho visualizzare il messaggio come questo:

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

Tutte le idee perché? Sto controllando il numero di account nel metodo addAccount() da AbstractAccountAuthenticator.

+0

Si è verificato che 'addAccount()' viene chiamato e che 'accounts.size()' 'è in realtà> 0 '? – Kirk

+0

Sì, tutto è ok, ad eccezione del messaggio che non viene visualizzato – Alex

risposta

11

Ho cercato lo stesso. Le seguenti risposte mi hanno aiutato: 1, 2.

Utilizzando il codice di esempio:

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

Assicurarsi che il gestore sia definito al di fuori del metodo addAccount altrimenti si otterrà un errore (come ho fatto io). Solo una FYI a tutti. – pkramaric

+0

Grazie mille per questo post. Ho salvato la mia giornata. – Henrik