我有一个以下列方式显示的吐司:
Toast.makeText(context, "The message", Toast.LENGTH_LONG).show();
我绝对确定我正在从 UI 线程显示 toast,我可以补充一点,它适用于许多设备,包括Galaxy S3的旧更新,但在最新更新之后,我的 toast 都没有显示。
有没有其他人经历过这个并有解决方案?
我有一个以下列方式显示的吐司:
Toast.makeText(context, "The message", Toast.LENGTH_LONG).show();
我绝对确定我正在从 UI 线程显示 toast,我可以补充一点,它适用于许多设备,包括Galaxy S3的旧更新,但在最新更新之后,我的 toast 都没有显示。
有没有其他人经历过这个并有解决方案?
在较新的 Android 手机中,应用设置中有一个“显示通知”复选框,出于某种原因,如果禁用通知,它也会禁用 Toast。该问题已在此处报告:
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;
}
由于 OP 在过去 24 小时内没有出现,我将发布在android-developers Google Group的一个线程上找到的解决方案。
问题是Show Notifications
在设置中未选中此应用程序的选项(这在较新版本的 Android 中是可能的)。这不仅可以防止在通知栏中显示通知,还可以防止显示 toast。
在这里打开了一个错误。