近日在做项目时,测试组的同事提出一个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就也显示不出来了。

附上一个解决问题时搜索到的链接 http://stackoverflow.com/questions/14318921/toast-is-not-shown-on-samsung-galaxy-s3-latest-update-4-1-2

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐