我需要使用空闲监听器来监听用户正在使用应用程序或在 Activity 处于 Activity 状态时处于空闲状态。 当用户不使用应用程序超过十秒时,我需要做一些事情。 我怎样才能让它成为可能?
最佳答案
这里是你如何完成这个任务的想法:
首先,您需要一个 Runnable(),它将在超时(例如 10 秒)发生时运行。下面是 Runnable():
private Runnable DoOnTimeOut = new Runnable()
{
public void run()
{
// Do something Here
}
}
现在,在您的 Activity 中,您可以为 DoOnTimeOut 调用 postDelayed:
Handler hl_timeout = new Handler();
@Override
public void onCreate(Bundle b)
{
hl_timeout.postDelayed(DoOnTimeOut, 10000); // The DoOnTimOut will be triggered after 10sec
}
现在,最重要的部分是,当您看到用户交互时,您想要取消对 DoOnTimeOut 的调用,然后再次将调用设置为下一个 10 秒。这是用户交互 Activity 的覆盖方法:
@Override
public void onUserInteraction()
{
super.onUserInteraction();
//Remove any previous callback
hl_timeout.removeCallbacks(DoOnTimeOut);
hl_timeout.postDelayed(DoOnTimeOut, 10000);
}
希望对您有所帮助。
关于android - 我怎样才能让屏幕空闲监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352827/