8

次のように表示されるトーストがあります。

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

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

他の誰かがこれを経験し、解決策を持っていますか?

4

2 に答える 2

11

新しいAndroidスマートフォンでは、アプリの設定に[通知を表示]チェックボックスがあり、何らかの理由で通知が無効になっている場合は、トーストも無効になります。この問題はここで報告されています:

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

しかし、ソースコードを見ると:

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

意図的なもののようです。

114行目:

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;
}
于 2013-01-16T13:11:46.053 に答える
5

OPは過去24時間存在していなかったので、android-developersGoogleGroupのスレッドで見つかったソリューションを投稿します。

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

このためのバグはここで開かれています。

于 2013-01-16T10:03:02.900 に答える