2016-10-20 4 views
-1

私は自分の会社のユーザーデバイスにインストールされている20のアプリを持っています。これらのアプリはすべて、ある時間帯に50分ごとに稼働しているサービス(ワーカーが雑誌に掲載されているとき)を持っています。 サービスの主なタスクは、サーバーからjsonをダウンロードし、アクティビティを実行することです。 質問:20のサービスを実行しないようにするにはどうすればよいのですか?1つのサービスがデータを受信した場合、最初のサービスは常に最初の勝者でなければなりません。ブロードキャストレシーバー複数のアプリ - サービス

実際には難しいです。 20のアプリとそのサービスを実行すると、自分のデータが乱れることになります。

+0

なぜプッシュ通知(FCM)を使用しないのですか? – momo

答えて

0

jsonデータに固有のIDが付いている場合は、キューシステムを実装できます。ただし、Android側ではなくサーバー側で実装する必要があります。

は、これらのステップを考えてみましょう、

  1. Serverは、新しいJSONデータ#001を生成しました。
  2. サービス1はjsonデータを要求しました。サーバはjsonデータ#001を返し、サービス1がjsonデータ#001を処理中であることをデータベースに記録します。 Btwの場合、データベースはトランザクションを使用してこれを動作させる必要があります。
  3. サービス2はjsonデータを要求しました。サーバーはサービス1がjson data#001の処理としてマークされているため、何も返しません。
関連する問題