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

我想要它,以便当它收到短信时会使用“ AsyncTask-extended”类触发计时器。
假设手机在30秒钟内处于闲置状态或整整30秒钟未收到任何用户输入,那么它将运行一个功能。
否则,它将停止计时器。

我已经把计时器部分调低了(尽管随机会过早停止)
现在,我将继续研究如何在计时器运行时检查是否有任何用户输入。

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

最佳答案

因此,基本上,您需要听ACTION_SCREEN_ON广播意图。

实现它的步骤:


  1)设置SMS的BroadcastReceiver。我们称它为SMSBroadcastReceiver。
  
  2)在您的SMSBroadcastReceiver.onReceive方法上,您将必须做两件事:
  
  2.1)使用AlarmManager安排功能的将来执行。无需使用AsyncTasks。
  
  2.2)注册一个新的BroadcastReceiver,以监听ACTION_SCREEN_ON事件。此接收器的实现应取消在步骤2.1中安排的操作。


另外,请考虑仅在ACTION_SCREEN_OFF上注册SMSBroadcastReceiver

10-08 16:23