私のAndroidアプリケーションはフォアグラウンドサービスであり、ユーザーがアプリケーション全体をアンインストールせずに、いつでもサービスを無効にできるオプションが欲しいです。
マニフェストでenabled=trueラベルを使用し、起動が完了してフォアグラウンドでサービスを開始します。私の懸念は、サービスの開始(stopSelf)を防ぐためにuserEnabled = falseの非常に基本的なグローバルブール値(サービスのonCreate内)がある場合、Androidは引き続きサービスの開始を試み、ループが発生し、したがって、不要なリソースを使用しますか?
誰かが私と知識を共有して、私がこれについて心配する必要がないこと、またはこれを行うための正しい手順/方法を私に知らせてもらえますか?方向性を示すドキュメントや投稿が見つかりません。
よろしくお願いします。
回答:以下のCommonsWareの回答を参照してください。これも、CommonsWareによるいくつかの便利なコードへのリンクです。
さらに読んだ後、マニフェストでサービスセットをtrueに設定することによって発生する可能性のあるループはありません。