三星Galaxy S3上没有显示Toast(最新更新4.1.2)

时间:2013-01-14 13:03:23

标签: android toast galaxy samsung-mobile

我有一个以下列方式显示的祝酒词:

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

我绝对肯定我正在从UI线程中显示吐司,并且我可以补充一点,它适用于许多设备,包括 Galaxy S3 的旧更新,但在最新更新之后没有我的祝酒词正在展示。

有没有其他人经历过这个并有解决方案?

2 个答案:

答案 0 :(得分:10)

在较新的Android手机中,App Settings中有一个“显示通知”复选框,出于某种原因,如果禁用通知,它也会禁用Toasts。这个问题已在此报道:

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

第114行:

private static final boolean ENABLE_BLOCKED_TOASTS = true;

答案 1 :(得分:5)

由于OP在过去24小时内没有出现,我会在thread上发布android-developers Google Group上找到的解决方案。

问题是,此应用的Show Notifications选项未在“设置”中取消选中(在较新版本的Android中可以使用)。这不仅可以防止在通知栏中显示通知,还可以阻止显示祝酒词。

此错误已被打开here