Android bindServiceの使い方徹底解説【サンプルコード付き】
Androidでサービスをバインドするために、bindService()メソッドを使用します。サービスのバインドは、アプリケーションコンポーネント(例えばActivity)がサービスと通信できることを意味し、サービスはそのアプリケーションコンポーネントが存在している時のみ実行されます。
bindService()メソッドを使用する基本的なステップは次のとおりです:
- Activity内でServiceConnectionオブジェクトを作成し、サービスの接続状態を監視します。
 
private ServiceConnection mServiceConnection = new ServiceConnection() {
    @Override
    public void onServiceConnected(ComponentName name, IBinder service) {
        // 当服务连接成功时调用
    }
    @Override
    public void onServiceDisconnected(ComponentName name) {
        // 当服务断开连接时调用
    }
};
- サービスをバインドします。
 
Intent serviceIntent = new Intent(this, MyService.class);
bindService(serviceIntent, mServiceConnection, Context.BIND_AUTO_CREATE);
- 接続が完了しました。
 
public void onServiceConnected(ComponentName name, IBinder service) {
    MyService.MyBinder binder = (MyService.MyBinder) service;
    MyService myService = binder.getService();
    // 使用myService对象调用服务中的方法
}
- サービスのバインドを解除する
 
unbindService(mServiceConnection);
bindService()メソッドを使用する際には、AndroidManifest.xmlファイルでサービスを宣言する必要があります。宣言方法は以下の通りです:
<service android:name=".MyService" />
以上がAndroidでbindService()メソッドを使用してサービスをバインドする基本的な手順です。お役に立てれば幸いです。