Android 安卓意向服务
我有一个Android 安卓意向服务,android,intentservice,Android,Intentservice,我有一个列表视图,其中每一行表示需要上传到服务器的内容。每行包含一个按钮,当按下该按钮时,将启动一个意图服务以开始上传到服务器 第一次按下按钮时,意向服务启动,但第二次新的意向服务未启动?应该吗?这是我的ListView按钮的onClickListener中的代码 Intent intent = new Intent(VaultActivity.this, Upload.class); intent.putExtra(FILEPATH, vidoObject.filePath); intent.
列表视图
,其中每一行表示需要上传到服务器的内容。每行包含一个按钮
,当按下该按钮时,将启动一个意图服务以开始上传到服务器
第一次按下按钮时,意向服务启动,但第二次新的意向服务未启动?应该吗?这是我的ListView
按钮的onClickListener
中的代码
Intent intent = new Intent(VaultActivity.this, Upload.class);
intent.putExtra(FILEPATH, vidoObject.filePath);
intent.putExtra(POSITION, position);
ListActivity.this.startService(intent);
我做错什么了吗?第二行按钮是否也应创建新的IntentService以开始上载?IntentService实际上只是一个工作队列:
- 当发出第一个startService调用时,服务将启动,创建一个工作线程并将传递的意图添加到工作队列中
- 工作线程从队列中读取第一个意图并对其进行处理
- 如果在处理第一个意图的过程中,第二个意图被传递到服务(通过第二个startService调用),则该意图被添加到队列中(第三个、第四个等相同)
- 工作进程将一直运行,直到工作队列为空,然后停止服务
因此,您的第二行按钮可能会启动另一项服务,但前提是第一次上传已经完成
如果你想同时上传两个文件,你不能使用IntentService,因为它一次只能处理一个命令。谢谢,我已经解决了这个问题。第二行,在第一次上传完成后开始上传。比你强。