2013-01-14 16 views
8

mam toast, który jest wyświetlany w następujący sposób:Toast nie jest pokazany na Samsung Galaxy S3 (najnowsza aktualizacja 4.1.2)

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

Jestem absolutnie pewien jestem wyświetlając tosty z wątku UI i mogę dodać, że działało dobrze na wielu urządzeniach, w tym starszych aktualizacjach modelu Galaxy S3, ale po ostatniej aktualizacji żaden z moich tostów nie jest wyświetlany.

Czy ktoś inny doświadczył tego i ma rozwiązanie?

+2

Czy jesteś pewien, że ten kod jest faktycznie nazywa? Czy zmieniło się coś, co mogłoby wpłynąć na to? –

+0

Może powinieneś pokazać swój kompletny kod. –

Odpowiedz

10

W nowszych telefonach z Androidem w polu Ustawienia aplikacji znajduje się pole wyboru "Pokaż powiadomienia" i z jakiegoś powodu, jeśli powiadomienia są wyłączone, wyłącza również toasty. Problem został zgłoszony tutaj:

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

Ale patrząc na kodzie źródłowym:

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

Wydaje się, że to może być celowe:

Linia 114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 

Linie 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; 
} 

Linia 114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 
5

Ponieważ OP nie było w ciągu ostatnich 24 godzin, opublikuję rozwiązanie, które zostało znalezione na thread na android-developers Google Group.

Problem polegał na tym, że opcja Show Notifications dla tej aplikacji została odznaczona w Ustawieniach (jest to możliwe w nowszych wersjach Androida). Zapobiega to nie tylko wyświetlaniu powiadomień na pasku powiadomień, ale także zapobiega wyświetlaniu toastów.

Błąd w tym został otwarty here.

Powiązane problemy