0

unbindServiceを呼び出した後でもサービスと通信できる理由を説明してもらえますか?

流れ:

bindService(new Intent(IService.class.getName()), conn, Context.BIND_AUTO_CREATE)
...
mService = IService.Stub.asInterface(service);
...
writeToOutput("Droping bombs from: " + mService.getPid());
...
unbindService(mCurConnection);  
... 
writeToOutput("Droping bombs from: " + mService.getPid()); // no exception - still returns good values
...
4

1 に答える 1

1

おそらく、サービスはまだタスクに取り組んでいます。

Googleのドキュメントには、unbindService(Connection)を呼び出すと、いつでもサービスを停止できると記載されています。ハードストップやフォースストップについては触れていません。

google docから: 「アプリケーションサービスから切断します。サービスが再起動されると、電話を受けることができなくなり、サービスはいつでも停止できるようになります。」

もう1つの可能性は、サービスにバインドされている別のアクティビティがあり、少なくとも1つのバインドされたインターフェイスがある限り、サービスがアクティブのままである可​​能性があります。

あなたがしていることについての詳細を投稿したいのであれば、私はおそらくより良い解決策を提供することができます。

ありがとう

于 2012-07-25T14:33:37.020 に答える