0

Android アプリケーションに問題があります。1 時間ごとにオーディオ サンプルを実行するバックグラウンド サービス (ステータス バーに通知あり) を使用しています。このサンプルを実行するために、1 時間ごとにブロードキャスト イベントを生成し、イベントをキャプチャするとオーディオの録音が開始されます。日中、電話を使用しているときは問題ありません。電話が「アイドル」状態になったように見える夜間に、奇妙な動作が発生します。ブロードキャスト イベントは処理されません。ログファイルから、イベントが生成されてキューに入れられることがわかりました...そして電話を再び使用し始めると、これらすべてのイベントが同時に発生します。この問題を解決する方法について何か考えがありますか? 電話でイベントの処理を続行するにはどうすればよいですか? 電話がこの種の「アイドル」状態になるのを避けるために、フラグの変数を設定する必要がありますか? 誰かが私を助けてくれることを願っています!

前もって感謝します!ミケラ

4

1 に答える 1

0

1 時間ごとにオーディオ サンプルを実行するバックグラウンド サービス (ステータス バーに通知あり) を使用しています。

を使用しないのはなぜAlarmManagerですか? ユーザーは永続的なサービスが好きではありません。

電話が「アイドル」状態になったように見える夜間に、奇妙な動作が発生します。ブロードキャスト イベントは処理されません。

もちろん。

この問題を解決する方法について何か考えがありますか?

とを使用AlarmManagerWakefulIntentServiceます。アプリケーションを 1 時間ごとに起動するように をスケジュールしAlarmManagerます (理想的には を介し​​てsetInexactRepeating())。WakefulIntentServiceサンプルを入手してください。文書化されたWakefulIntentServiceレシピに従うと、デバイスはサンプルを取得するのに十分な時間アクティブなままになり、その後スリープ状態に戻ります. サービスが常にメモリに残るわけではありません。あなたはあなたの機能を手に入れ、ユーザーはより良いデバイスのパフォーマンスを得ることができます。

アプリケーションが常にメモリを消費するだけでなく、常に CPU を実行し続けるように、単に a を使用しないでください。WakeLock

于 2010-11-06T20:48:22.780 に答える