近日在做项目时,测试组的同事提出一个bug,就是在一台三星手机上,点击某个图片,本来应该弹出Toast,提示开始下载,并且在消息栏有下载进度的通知的,可是这个手机上么有弹出Toast,消息栏也没有出现通知,后来经过查资料知道有些三星手机默认禁用了显示通知那一项,而不显示通知时,Toast也显示不出来的。
源码中可以看出来:
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;}
在控制台也确实看到了"Suppressing toast from package " + pkg + " by user request.");这个log信息,三星手机禁用开启消息的选项在应用程序管理中点开任意一个应用程序,有个显示通知的选项,该选项在有问题的手机上是未选中的,所以就不会显示通知Notification,不显示通知的话,Toast就也显示不出来了。