2012-05-14 6 views
2

バックグラウンドジョブを実行するためにメインアクティビティで使用されるサービスがあり、バインディングとバインド解除を使用して開始されています。Android:サービスstartServiceまたはバインドサービス

このように、アクティビティがサービス開始を開始し、アクティビティ呼び出しのバインド解除時に停止すると、これはうまく機能します。

今度は、一度trueにするとサービスが開始され、主なアクティビティは終了しますが、バックグラウンドで実行する必要があるCheckBoxpreferenceが必要です。

この結果を得る最も良い方法は何ですか?私は環境設定からstartservice/stopserviceに取り組まなければならないのですか?環境設定が真であるときにメインアクティビティからアンバインドしないでください。

メインアクティビティのバインディングから既に開始されているときに、プリファレンスからサービスを開始すると、これは同じサービスの複数のインスタンスになりますか?

答えて

2

は、チェックボックスが選択されていない(またはその逆)への選択から変更したときにその更新を取得しますOnSharedPreferenceChangeListenerを使用していただきありがとうございます。

start/stopServiceメカニズムとバインド/バインド解除メカニズムの両方を同時に使用できます。 startServiceが呼び出された場合、またはサービスがバインドされている場合はサービスが開始され、stopServiceが呼び出されたときにサービスが停止し、それ以上アクティビティがバインドされません。

私はthis postが既に開始されているサービスに関してあなたの質問に答えますと思います。

関連する問題