実行中のプロセスでサービスがうまく機能しています。メイン アクティビティが表示されていない場合でも、特定のブロードキャスト レシーバーを制御します。また、いくつかのパラメータをチェックするために、一定の間隔で独自に起動します。ブロードキャスト レシーバーが存在しないことを検出すると、サービスが登録されるまでサービスを完全に停止するか、一定の間隔でサービスを再起動できます。その間、サービスは START_NOT_STICKY モードで実行されます。
ただし、サービスに接続してレシーバーを登録すると、その実行状態を START_NOT_STICKY から START_STICKY に変更する方法はありますか? それとも、受信側で isRegistered フラグを使用し、サービスを停止して再起動し、onStartCommand 内でその値を確認するだけでよいのでしょうか? これは使用するのに適したパターンですか、それとももっと良いパターンがありますか?
これを行う主な理由は、アプリが必要としないプロセスをバックグラウンドで実行しないようにするためです。