1

アプリケーションの設計に関する質問があります

私の意図は、3つの意図的なサービスを持つことです

1) GCMBaseIntentService に基づくクラス

2) Web 登録サービス - Web サイトに登録する

3) データ更新サービス - Web サイトの最新データでアプリケーション データを更新します。

GCM サービスは、アプリがインストールされているデバイスが GCM を処理できる場合に、新しいアプリのインストールを Google GCM に登録するために使用されます。WebRegistration サービスとデータ更新サービスはどちらも、アプリケーションの起動時、またはアプリのさまざまな時点でのデータ更新サービスの場合に、適切なタイミングで完全に独立してインスタンス化できるため、これらを個別のサービスとして使用することが適切と思われます。

Web 登録サービスとデータ更新サービスの両方が完了したら、メッセージをブロードキャストする必要があります

アプリの初回ロード時 GCM サービスは、Web サーバーへの登録とアプリケーション データの更新の両方を行う必要があります。

GCM インテント サービスがブロードキャスト レシーバーを登録し、Web 登録インテント サービスを起動し、ブロードキャスト レシーバーでこのサービスが終了したというメッセージを受信すると、データ更新サービスを起動することは許容されますか?

このアプローチが受け入れられない場合は、より適切な解決策を聞きたいです

4

2 に答える 2

1

アクティビティから呼び出すのとまったく同じ方法で、サービスからbindServiceを呼び出すことができます。javadocから、bindServiceを呼び出せない場所はBroadcastReceiverだけであることがわかります。ServiceConnectionを使用してバインダーを受け取ることもできます。

于 2012-11-29T08:14:12.977 に答える
1

はい、問題ありません...インテントサービスはキューとして実行されます...developer.android.comでドキュメントを読んでください

于 2012-11-29T08:13:06.570 に答える