我有一个以下列方式显示的祝酒词:
Toast.makeText(context, "The message", Toast.LENGTH_LONG).show();
我绝对肯定我正在从UI线程中显示吐司,并且我可以补充一点,它适用于许多设备,包括 Galaxy S3 的旧更新,但在最新更新之后没有我的祝酒词正在展示。
有没有其他人经历过这个并有解决方案?
答案 0 :(得分:10)
在较新的Android手机中,App Settings中有一个“显示通知”复选框,出于某种原因,如果禁用通知,它也会禁用Toasts。这个问题已在此报道:
http://code.google.com/p/android/issues/detail?id=35013
但是看一下源代码:
似乎它可能是有意的:第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。