在三星Galaxy S3(最新更新4.1.2)上不显示吐司



我有一个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

但是查看源代码:

https://android.googlesource.com/platform/frameworks/base/参+//头/主/服务/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;
}

由于OP在过去的24小时内没有出现,我将在android开发者Google组的一个线程中发布解决方案。

问题是该应用程序的Show Notifications选项在设置中未被选中(这在较新的Android版本中是可能的)。这不仅可以防止在通知栏中显示通知,还可以防止显示祝酒词。

此错误已在此处打开

相关内容

  • 没有找到相关文章

最新更新