SO に関するさまざまな投稿を見つけて読みましたが、 (in an ) または(in a ) の代わりに - にgetApplicationContext()
バインドするときに使用する必要があると述べています。Service
this
Activity
getActivity()
Fragment
ただし、これにより次の質問が発生しました。ドキュメントでは、の「クライアント」について繰り返し説明していService
ます。/guide/components/bound-services.html )。
このコンテキストでのクライアントの意味:
Context
呼び出しに使用されたbindService()
- または
ServiceConnection
に供給されたbindService()
Fragments
同じものにバインドする2 つがあるとしましょうService
- Application Context を使用し、それぞれに独自のServiceConnection
.
サービスはいつ破棄されますか?
私の 2 番目の解釈が true のService
場合、すべての接続が閉じられたとき、つまり各 Fragment が呼び出されたときに が破棄されgetActivity().getApplicationContext().unbindService(mConnection)
ます。最初のフラグメントが真の場合、最初のフラグメントがその呼び出しを行うとすぐに閉じられる必要があります。これは、「アプリケーションコンテキストのバインドを解除する」ためです...
では、どの解釈が正しいのでしょうか。(2回目だといいのですが…)