/ / AndroidとEclipseアプリにサービスコードを含める必要がありますか?複数のアプリが同じサービスを使用している - Android、Eclipse、Service

AndroidとEclipse。私のアプリケーションにサービスコードを含める必要がありますか?複数のアプリが同じサービスを使用しています - Android、Eclipse、サービス

私は「Android programingに比較的初心者ですすでにサービスに関するいくつかの基本的な質問をしたことがあります)

これは独立した質問のように思えるので、私はそれを打ち切りました。

私はEclipseで書かれたいくつかのコードを継承しましたサービスとアプリで構成されています。サービスコードをライブラリに入れました。アプリ設定のAndroidで、コードを参照できるように、ライブラリセクションの下にサービスライブラリを追加しました。私はこれが正しい方法であるかどうかわからない。私が構築した新しいアプリでもこれをした。最初のアプリをダウンロードしてデバッグしたところ、問題なく動作しています。このサービスは、ブルートゥースを介して外部機器と接続します。 2番目のアプリをダウンロードしてデバッグすると、最初のアプリが接続を失うことに気付きました。2番目のアプリをダウンロードすると、サービスの新しいコピーもダウンロードされることになります。私の具体的な質問は以下のとおりです。

  1. 2つのアプリが同じサービスのインスタンスを共有できますか?
  2. サービスをライブラリに入れて両方のアプリでそのサービスを参照する必要がありますか。ソースコードがわからない場合、どのようにして第三者のサービスを参照するのですか?

  3. 私が見た例は、すべて同じプロジェクト内にサービスとアクティビティがあるようです。誰かが私にそれを使う2つのアプリを使ったサービスのような大きな例を教えてもらえますか

ありがとう、 デイブ

回答:

回答№1は1

2種類のサービスがあります。 バウンドサービスとサービス開始。バックグラウンドでタスクを実行する必要がある場合は、サービス開始を使用します(たとえば、ファイルをダウンロードする必要がある場合は、サービスを開始してこのファイルをダウンロードするだけです)。それへのstopServiceコマンド)。長期サービスには、結合サービスが使用されます。それはいくつかの機能を提供し、ほぼ常に動作するインターネットサービスと見なすことができます。たとえば、2つの番号を追加する機能を提供するサービスを作成できます。

今答え:

  1. はい、できます。基本的には1つのインスタンスしかないはずです システム内のサービス。しかし、このサービスは複数のスレッドを持つことができます。
  2. あなたはあなたのサービスを別のアプリケーションとして実装することができます。しかし 通常、所有者アプリとサービスを使用するアプリがあります。
  3. バウンドサービスを見てください。