2013-01-14 13 views
8

Ho un brindisi che viene visualizzato nel seguente modo:Toast non è visualizzato sul Samsung Galaxy S3 (ultimo aggiornamento 4.1.2)

Toast.makeText(context, "The message", Toast.LENGTH_LONG).show(); 

Sono assolutamente certo che sono la visualizzazione il brindisi dal thread dell'interfaccia utente , e posso aggiungere che ha funzionato bene per molti dispositivi, inclusi gli aggiornamenti precedenti del Galaxy S3, ma dopo l'ultimo aggiornamento non viene visualizzato nessuno dei miei toasts.

Qualcun altro ha provato questo e ha una soluzione?

+2

Sei sicuro che questo codice è in realtà essere chiamato? È cambiato qualcos'altro che potrebbe influenzarlo? –

+0

Forse dovresti mostrare il tuo codice completo .. –

risposta

10

Nei nuovi telefoni Android è presente una casella di controllo "Mostra notifiche" in Impostazioni app e, per qualche motivo, se le notifiche sono disabilitate, disabilita anche Toasts. Il problema è stato segnalato qui:

http://code.google.com/p/android/issues/detail?id=35013

Ma guardando sul codice sorgente:

https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/services/java/com/android/server/NotificationManagerService.java

sembra che potrebbe essere intenzionale:

Linea 114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 

Linee 693-707:

final boolean isSystemToast = ("android".equals(pkg)); 
if (ENABLE_BLOCKED_TOASTS && !isSystemToast && !areNotificationsEnabledForPackageInt(pkg))  { 
    Slog.e(TAG, "Suppressing toast from package " + pkg + " by user request."); 
    return; 
} 

Linea 114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 
5

Poiché l'OP non è stato utilizzato nelle ultime 24 ore, inserirò la soluzione trovata su un thread su android-developers Google Group.

Il problema era che l'opzione per Show Notifications per questa app era deselezionata nelle Impostazioni (questo è possibile nelle versioni più recenti di Android). Ciò impedisce non solo la visualizzazione delle notifiche nella barra delle notifiche, ma impedisce anche la visualizzazione dei toasts.

Un bug per questo è stato aperto here.

Problemi correlati