前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“吐司”测试二三事

“吐司”测试二三事

作者头像
用户5521279
发布2020-03-19 16:14:16
8340
发布2020-03-19 16:14:16
举报
文章被收录于专栏:搜狗测试搜狗测试

主要问题 : Toast作为Android轻量级反馈信息提示的系统控件,在目前项目中大量使用,但是由于Toast是系统层面提供的,不依赖于前台页面,存在滥用的风险。为了规避这些风险,Google在Android系统版本的迭代过程中,不断进行了优化和限制。这些限制不可避免的影响到了正常的业务逻辑。 目前为止输入法在测试过程中主要遇到过以下几种情况: 1、多次触发,Toast会按照队列的形式一个接一个的弹出,哪怕此时App退出也会不停的弹; 2、小米机型上触发Toast会带有应用名的前缀提示; 3、关闭通知权限后,无法正常的反馈给用户提示信息,造成不太友好的体验; 4、在部分机型上,单独的输入法键盘无法弹出Toast,需要悬浮窗权限,但在打开输入法App后,就可以正常弹出了;

解决方案: 问题1: Toast对象在show时,系统将该对象放入队列中,只有当前没有要显示的toast时才执行本次show请求,否则需要显示完一个Toast之后再去显示下一个Toast,如果用户无意间多次触发了这个Toast,很可能导致这个Toast在较长的一段时间内无法消失,不停的出现,影响用户视觉体验。 解决: 可以在Toast触发的时候增加当前是否存在Toast的判断,如果当前没有在显示的Toast,则创建Toast并展示,如果当前已经存在一个Toast,则只替换当前的文案显示。 方法如下:

问题2: 在做定制版项目时,对方测试曾反馈一个问题,在小米手机上,输入法的Toast提示前面总是带着:搜狗输入法 的应用名称,显示如下:

经过调查发现,这种显示方式是MIUI系统特有的,本着不一样就是问题的逻辑,我们还是去查询了下这个问题。 Toast的默认方式如下:

如果你们的项目也是这么调用的,那么你的Toast前面也会有应用名。 网上提供了一种方法,将默认Toast置为空,重新写入内容,这样就不会带有应用名称,方法如下:

汇总以上两个问题,整合方法如下:

后面两个权限带来的问题,我们计划使用Snackbar的方法解决。测试过效果后,再详细给大家介绍Toast、Snackbar的优缺点。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档