Toast 不显示

来源:互联网 发布:dreamwear类似的软件 编辑:程序博客网 时间:2024/05/17 01:41

做项目时发现 toast不显示

原因一:在非UI线程执行 建议使用handler显示

原因二:没有执行,逻辑错误


我的问题两个都不是,在接收广播后调用了toast   并且调用toast处使用了runonUIThread(),但是 toast并没有显示出来,

    查找错误点发现,在toast后 有一个主线程的耗时操作 导致的toast不显示,把耗时操作放到线程中 toast正常显示;


找到另一篇文章:http://m.blog.csdn.net/article/details?id=37761475

Toast中文又名土司,职责就是提示作用,不过有时候使用时,会遇到不同的麻烦;其中,Toast不显示就是其中一个,作者今天就遇到了怎么搞也不能显示Toast的问题,排查了好多原因,最终找到罪魁祸首.

Toast通常不显示的原因(个人小结,可能不去,忘大家补充):

1.没有调用.show方法,这种也是最常见的,有时候,也是身不由己啊.

2.在非UI线程中调用Toast的show方法,不过这种调用的话,程序会报错的,这时通常我们通过handle来发消息来显示Toast.或者在子线程中调用Looper.prepare()来显示.

3.网上说的还有一种原因是:线程占用了Toast的时间导致不能显示,这种状况是,在Toast的show方法调用后,紧接着让主线程sleep的时间不小于show的时间,

4.最后一种,是作者今天遇到了,搞了许久,最终才找到的,这个原因是与Android权限有关的,作者用的是屌丝机(荣耀3C),root什么的自然也就不说了,机子  设置--隐私和安全--通知管理 这里面可以对手机上安装的软件的通知消息进行管理的.我原本以为是管理Notification通知的,不晓得什么时间把他搞成禁止了,才惹出来今天的麻烦.最后附上图片:

目前只能想到这么多了,以后如果遇到的话,在进行添加.

关于Toast的一些其他的知识点,可以参考一下入门的http://android.tgbus.com/Android/tutorial/201103/346236.shtml或者搜索一些,网上资料很丰富的.


我的问题同第三点,


同时,补充一点:

程序中 在两个地方同时接受广播,在一个接收器操作结束后,另一个接收器才接收到该广播;



0 0
原创粉丝点击