android – 获取IntentService的进度

我正在开发一款需要大量API调用Android应用.我构建了一个实现基于IntentService的排队系统的系统.问题是,我想在IntentService运行时显示准确的ProgressBar更新.

一种方法是将排队系统更改为一系列AsyncTasks.我必须使用onProgressUpdate()显示进度.

另一种方法是调整IntentService并从后台线程获取进度.

问题是,我想结合IntentService和AsyncTask的优点:制作一个能够轻松处理UI事件的排队系统.有没有最好的方法来实现它?

编辑:
我最终使用AsyncTasks而不是IntentServices.但是,如果有人有一个很好的模式来分享来从IntentService更新进度,请随时添加你的评论.

解决方法

ID

>启动HandlerThread和Handler
>获取主UI线程的处理程序
>使用该线程的处理程序将工作发布到后台线程
>使用UI线程的处理程序将进度更新和结果发布到UI

这样你就可以有一个后台线程来处理你的工作队列,并将你喜欢的任何东西发布回UI线程而不处理广播

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...