ユーザーがアクティブなとき、またはより一般的なときにのみ実行したいService
:電話がアクティブなとき。画面がオフのときにサービスを実行する必要はありません。しかし、ユーザーが自分の電話のロックを解除するとすぐに、サービスを再度実行したいと考えています。
この動作を実現するにはどうすればよいですか?
私の実際のタスク: logcat をキャプチャしたい。したがってService
、「logcat」プロセスの出力を読み取るスレッドを生成する を作成しました。
電話がロックされたとき、そのバックグラウンド スレッドは正確にどのように動作しますか? ウェイクロックなどは保持されません。電話がスリープ状態になると Android はスレッドを一時停止しますか、それともそのスレッドは Android がスリープ状態にならないようにしますか? 電話が目覚めた後、どのように再開されますか?
また、15 分ごとに起動して logcat を解析する「AlarmManager」を介してアラームを登録することも考えました。しかし、このアプローチでは、いくつかの logcat 行を見逃す可能性があります。