Fla*_*h99 5 android android-intent android-service intentservice
我有一个应用程序具有初始激活,列出列表视图中的一些文件.在列表中单击某个项目时,它会将您带到该特定文件的详细活动.
在详细视图中,我有一个名为download的按钮,当您单击下载时,它会启动一个IntentService,它会将要下载的文件设置为:
downloadButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(AppDetailsActivity.this, AppDownloadService.class);
intent.putExtra(Consts.APP_DOWNLOAD_RECEIVER_KEY, new DownloadReceiver(new Handler()));
startService(intent);
}
});
Run Code Online (Sandbox Code Playgroud)
DownloadReceiver类用于更新下载文件详细活动中的进度条.
现在我想做什么......
如果用户当前正在从详细活动中下载文件,然后返回到上一个活动,我希望活动以某种方式订阅/绑定到同一个IntentService并检索结果,以便它可以在列表中显示进度条正在下载的文件的项目.
要下载,你一定可以使用IntentService.它运行在不同的线程上.另外,请记住,startService()多次调用IntentService它会创建一个队列并一次处理一个意图.
为了表明Activity我不相信广播的进展是正确的.尽管它们很可能是按顺序处理的,但框架或Android本身并不能保证交付时的订单.这意味着您可以获得50%的广播,然后播放40%的广播.为此,我建议您查看此示例:http://developer.android.com/reference/android/app/Service.html#LocalServiceSample
它看起来有点复杂,但你可以依靠双向沟通.
| 归档时间: |
|
| 查看次数: |
11165 次 |
| 最近记录: |