1

我只想Service在用户处于活动状态或更一般的情况下运行:当手机处于活动状态时。无需在屏幕关闭时运行服务。但是一旦用户解锁他的手机,我希望该服务再次运行。

我如何实现这种行为?

我的实际任务:我想捕获 logcat。因此,我创建了Service一个线程,该线程读取“logcat”进程的输出。

当手机被锁定时,该后台线程的行为究竟如何?它没有任何唤醒锁或东西。当手机进入睡眠状态时,Android 会暂停线程还是该线程会阻止 Android 进入睡眠状态?手机唤醒后如何恢复?

我还考虑过通过“AlarmManager”注册一个警报,该警报每 15 分钟触发一次并解析 logcat。但是使用这种方法,我可能会错过一些 logcat 行。

4

1 回答 1

1

重新启动服务ACTION_USER_PRESENT:您可以为或注册一个接收器ACTION_SCREEN_ON:当用户在场时(当手机处于活动状态时)在设备唤醒后(例如,当键盘锁消失时)由系统发送。或当手机屏幕打开时。

停止服务ACTION_SCREEN_OFF当用户不存在或移动屏幕关闭时,使用由设备发送的意图

于 2012-04-07T12:32:50.103 回答