0

磁場センサーを使用して、アクティビティでいくつかのメソッドを実行するための磁気リードスイッチとして機能するアプリケーションを構築しました。これは24時間年中無休で実行され、電話にはアクセスできないため、ユーザーがアプリを閉じる心配はありません。ただし、長時間待機するとアプリがクラッシュします。そして、私が正しいアプローチをとったかどうかはわかりません:活動ベースまたはサービスベース。

サービスについての私の理解は、それらがバックグラウンドアクティビティに適しているということですが、私のアクティビティは常に実行されているため、これが正しいアプローチであるとは思いません。

同様に、私のアクティビティはバックグラウンドで実行され、磁場を常に読み取り、必要に応じてローカルブロードキャストインテントを作成するため、さまざまなブロードキャストレシーバーで問題が発生する可能性があります(つまり、onResume中に作成されておらず、登録されていない場合) onPause中)。

最初の段落で述べたように、磁場センサーを実行してローカル放送のインテントを発射するための好ましい方法はどれか疑問に思います。

4

2 に答える 2

0

大丈夫なはずです。クラッシュしている場合、ログは何ですか?

さて、あなたはまだあなたの活動のために私たちのメッセージを送る長期実行サービスを持っている可能性があります。(より良いアプローチ)あなたの活動にセンサーコードを含めることのポイントは何ですか?あなたの活動が一時停止されることは決してないことを理解していますが、それでもその仕事をするサービスが必要です。

于 2012-07-20T03:32:29.567 に答える