Messenger をメンバー変数として格納し、onBind(Intent) でmessenger.getBinder() を返すサービスがあります。私はこのサービスに次のように接続しています:
void Bind()
{
Intent intent = new Intent("com.example.RemoteBindingService");
bindService(intent, mServiceConnection,
Context.BIND_AUTO_CREATE); // Context.BIND_AUTO_CREATE
// means
// "start if not started"
mBound = true;
}
Bind() を呼び出す前に、メッセージをサービスに送信しても何も起こりません。Bind() を呼び出した後、サービスへのメッセージの送信は正しく機能します。ただし、電話した後は
void Unbind()
{
if(mBound == true)
{
unbindService(mServiceConnection);
mBound = false;
}
}
メッセージをサービスに送信しても何も起こらないということです。ただし、そうではありません。サービスは機能し続けます。サービスから適切に切断する方法を誰か説明できますか?