通常bindService()
、呼び出し元の component( ) が、 を介して、開始しようとしているActivity
と通信する必要がある場合に使用します。と通信したくない場合は、just を使用できます。サービスとバインド サービスの違いを以下に示します。Service
ServiceConnection
Service
startService()
ドキュメントから:
開始
サービスは、アプリケーション コンポーネント (アクティビティなど) が startService() を呼び出してサービスを開始したときに「開始」されます。開始されたサービスは、それを開始したコンポーネントが破棄された場合でも、無期限にバックグラウンドで実行できます。通常、開始されたサービスは単一の操作を実行し、呼び出し元に結果を返しません。たとえば、ネットワーク経由でファイルをダウンロードまたはアップロードする場合があります。操作が完了すると、サービスは自動的に停止します。
バウンド
アプリケーション コンポーネントが bindService() を呼び出してサービスにバインドすると、サービスは「バインド」されます。バインドされたサービスは、コンポーネントがサービスとやり取りしたり、リクエストを送信したり、結果を取得したり、さらにはプロセス間通信 (IPC) を使用してプロセス全体でそれを行うことを可能にするクライアント サーバー インターフェイスを提供します。バインドされたサービスは、別のアプリケーション コンポーネントがバインドされている間だけ実行されます。一度に複数のコンポーネントをサービスにバインドできますが、すべてのコンポーネントがバインド解除されると、サービスは破棄されます。
ここで詳細を読むことができます: Android サービス、バインドされたサービス