2013-01-14 4 views
8

に示されていない:トーストは、私は次のように表示されているトースト持つサムスンギャラクシーS3(最新アップデート4.1.2)

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

を私は絶対に確信して私は、UIスレッドからトーストを表示していますGalaxy S3の古いアップデートを含む多くのデバイスで正常に機能したと付け加えることができますが、最新のアップデート後には私のトーストは表示されません。

誰もこれを経験して解決策がありますか?

+2

あなたはこのコードが実際に呼び出されていますか?それに影響する可能性のある変更がありますか? –

+0

完全なコードを表示する必要があります。 –

答えて

10

新しいAndroid搭載端末では、「設定を表示」チェックボックスがあり、何らかの理由で通知が無効になっているとトーストも無効になります。

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

をしかし、ソースコードを見て:ここでの問題は報告されている

ライン114:それは意図的であるかもしれないよう

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

に思える

private static final boolean ENABLE_BLOCKED_TOASTS = true; 

ライン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; 
} 

ライン114:

private static final boolean ENABLE_BLOCKED_TOASTS = true; 
5

このOPは過去24時間以内に公開されていないため、android-developers Google Groupthreadにある解決策を投稿します。

問題は、このアプリのShow Notificationsへのオプションが[設定](これは新しいバージョンのAndroidでも可能)でチェックされていないことでした。これにより、通知バーに通知が表示されるのを防ぐだけでなく、トーストの表示も防止されます。

このバグはhereとなっています。

関連する問題