如何检查手机是否处于空闲状态或手机是否处于空闲状态?

时间:2012-11-16 18:31:15

标签: android state

我有一个扩展了BroadcastReciever的类,另一个扩展了AsyncTask

我希望它能够在收到短信时使用'AsyncTask-extended'类启动计时器。
之后,我们只说30秒,假设手机已经空闲或者整个30秒内没有收到任何用户输入,它将运行一个功能。
否则,它会停止计时器。

我已经把计时器部分关闭了(虽然,它会随机停止) 而现在我一直在搞清楚如何在计时器运行时检查是否有任何用户输入。

有人可以告诉我如何检查所述用户输入吗?

2 个答案:

答案 0 :(得分:1)

所以基本上你需要听取ACTION_SCREEN_ON广播意图。

实施它的步骤:

  

1)为SMS设置BroadcastReceiver。我们称之为SMSBroadcastReceiver。

     

2)在您的SMSBroadcastReceiver.onReceive方法中,您将需要做两件事:

     

2.1)使用AlarmManager安排将来执行您的功能。无需使用AsyncTasks。

     

2.2)注册一个侦听ACTION_SCREEN_ON事件的新BroadcastReceiver。此接收器的实现应取消步骤2.1中安排的操作。

另外,请考虑仅在ACTION_SCREEN_OFF

上注册SMSBroadcastReceiver

答案 1 :(得分:0)

当手机空闲时,将调用当前活动的onStop()方法。覆盖此方法并在调用时执行您想要的操作。当手机从空闲状态返回时,将调用方法OnResume()和onRestart(),您也可以覆盖它们。在此处详细了解活动生命周期:http://developer.android.com/reference/android/app/Activity.html