現在、によってキューに入れられたLinkedList
インテントIntentService
を追跡する にインテントの がありService
ます。同じインテントであっても、contains()
メソッドが決して true を返さないことがわかりました。2 つのインテントを比較するために他に何かしなければならないことはありますか?
@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 i = new Intent(context, NodeIndexService.class);
i.setAction(NodeIndexService.REFRESH);
i.putExtra(NodeIndexService.TYPE, indexType);
i.putExtra(NodeIndexService.RESULT_RECEIVER, receiver);
context.startService(i);
このコードで次々に送信される 2 つのインテントは同一であるはずですよね? 文脈は変わらず、おまけも同じです。