IntentService
进行一些联网,同时保持等待的意图队列的优先级。我的目标是能够在后台下载一些图片,如果需要添加更多(发送另一个)
Intent
)并且能够在必要时重置队列(最好使用特定的意图)。这一切都是可能的
IntentServie
但当我发出“停止”
意图
编辑
对于那些感兴趣的人,我已经把AOSP代码
内部服务
ServiceHandler
类内部
IntentHandler
.
服务处理程序
我有一个新方法:
public final boolean sendPriorityMessage(Message msg)
{
int priority = msg.arg2;
//Log.i(GenericList.TAG,"recieved message priority: "+priority);
if(priority>PRIORITY_NORMAL){
return sendMessageAtFrontOfQueue(msg);
}else{
return sendMessage(msg);
}
}
此方法从调用
onStart
sendMessage
@Override
public void onStart(Intent intent, int startId) {
Message msg = mServiceHandler.obtainMessage();
msg.arg1 = startId;
msg.obj = intent;
try{
msg.arg2 = intent.getExtras().getInt(KEY_PRIORITY);
}catch(Exception e){
msg.arg2 = PRIORITY_NORMAL;
}
mServiceHandler.sendPriorityMessage(msg);
}
总的来说,代码仍然有限,但我能够快速跟踪一些消息到队列的前面,这就是我所追求的。