IntentService(或非UI线程)中使用Toast
来源:互联网 发布:sd格式化数据恢复 编辑:程序博客网 时间:2024/05/23 20:54
借鉴:
http://blog.csdn.net/xiaanming/article/details/8904645
1.说明
Toast要求必须再UI线程中才能显示,Service默认是再主UI线程上,而IntentService默认是在非ui线程上,所以在IntentServie中使用Toast实际上就是在非UI线程下使用Toast.
2.使用
方法一(推荐):
private void showToastByRunnable(final IntentService context, final CharSequence text, final int duration) { Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public void run() { Toast.makeText(context, text, duration).show(); } }); }
方法二:
重写Toast的show方法
Toast里面的show() public void show() { ... service.enqueueToast(pkg, tn, mDuration); //把这个toast插入到一个队列里面 ... }
0 0
- IntentService(或非UI线程)中使用Toast
- 在非UI线程中使用Toast
- 非UI线程中显示Alertdialog控件或Toast
- 非UI线程中Toast
- 非UI线程中显示Toast
- 在非UI线程中显示Toast
- 非 UI 线程 调用 Toast
- Android在所有代码中使用Toast,包括非UI线程
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- Android在非UI线程中显示Toast
- android非UI线程调用Toast
- 子线程中使用Toast或者更新UI(转)
- 迁移zencart后出现 WARNING: An Error occurred, please refresh the page and try again的解决方法
- 命令行参数
- 从选域名到SEO,盘点Web开发最常见的5个误区
- JSTL判断list的size()大小
- C语言文件操作解析(一)
- IntentService(或非UI线程)中使用Toast
- 在android系统中增加预编译apk(use BUILD_PREBUILT instead!. Stop)
- C#中checkbox的遍历方法
- GLSL实现水面倒影
- 用Java程序进行编码转换
- JSON入门指南
- Android 内存溢出解决方案(OOM) 整理总结
- 各大浏览器 CSS3 和 HTML5 兼容速查表
- margin 0 auto在IE8下失效