磁場センサーを使用して、アクティビティでいくつかのメソッドを実行するための磁気リードスイッチとして機能するアプリケーションを構築しました。これは24時間年中無休で実行され、電話にはアクセスできないため、ユーザーがアプリを閉じる心配はありません。ただし、長時間待機するとアプリがクラッシュします。そして、私が正しいアプローチをとったかどうかはわかりません:活動ベースまたはサービスベース。
サービスについての私の理解は、それらがバックグラウンドアクティビティに適しているということですが、私のアクティビティは常に実行されているため、これが正しいアプローチであるとは思いません。
同様に、私のアクティビティはバックグラウンドで実行され、磁場を常に読み取り、必要に応じてローカルブロードキャストインテントを作成するため、さまざまなブロードキャストレシーバーで問題が発生する可能性があります(つまり、onResume中に作成されておらず、登録されていない場合) onPause中)。
最初の段落で述べたように、磁場センサーを実行してローカル放送のインテントを発射するための好ましい方法はどれか疑問に思います。