现在我有一个LinkedList
Intents 来IntentService
跟踪Service
. 我发现该contains()
方法永远不会返回 true,即使对于相同的 Intent。我还需要做些什么来比较两个 Intent 吗?
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if(queue.contains(intent)){
//Never reaches here
intent.setAction(NO_ACTION);
}
queue.push(intent);
return super.onStartCommand(intent, flags, startId);
}
发送 Intent 的示例代码:
Intent i = new Intent(context, NodeIndexService.class);
i.setAction(NodeIndexService.REFRESH);
i.putExtra(NodeIndexService.TYPE, indexType);
i.putExtra(NodeIndexService.RESULT_RECEIVER, receiver);
context.startService(i);
使用此代码一个接一个发送的两个 Intent 应该是相同的,不是吗?上下文没有改变,额外的东西也是一样的。