2016-09-28 7 views
0

私はサービスを実行するには DeviceBoot AppOpenedByUser GpsChangeNetworkChangeなどのさまざまなイベントにはをOnNewSmsReceived SyncServiceと呼ばれます。アンドロイド:キュー・サービスの呼び出し

複数のネットワークコールがあります。同時に2つ以上のイベントが発生した場合、または前の呼び出しが実行されている間に1つのイベントが発生した場合は、サービスが再び呼び出されます。関数が現在実行されていない場合にのみ、呼び出しを実行する必要があります。すでに実行されている場合は、前の実行が完了するまでサービスが待機するようにします。

答えて

0

サービスをスタートしようとするたびに、IntentがonStartCommandMethodに配信されます。インテントから「コマンド」デザインパターン - 作成コマンドを使用し、それをいくつかのコマンドキューに追加することができます。現在のコマンドが完了したら、キュー内に別のコマンドがあり、別のコマンドを実行しているかどうかをチェックします。それは、サービスを停止しないでください。 IntentServiceと比較して、明示的にバックグラウンドで実行する必要があります。

関連する問題