检测用户是否与手机互动?

时间:2012-01-11 09:14:31

标签: android service action restart

我需要检测用户何时与手机交互并在最后一次用户触摸屏幕后60秒后重新启动我的应用。有可能做那样的事吗? 它必须作为PC的屏幕服务器。

3 个答案:

答案 0 :(得分:7)

ACTION_USER_PRESENT是广播操作,因此您应该能够编写广播接收器来响应它并启动您的应用程序。请注意ACTION_USER_PRESENT

  设备唤醒后用户出现时发送的

(例如   键盘走了)。

我还遇到了一个example,其中广播接收器使用BOOT_COMPLETED广播操作来启动应用程序。

答案 1 :(得分:4)

  

可以这样做吗?

仅当您的活动位于前台时,您才能跟踪触摸事件。您无法了解系统中其他位置发生的触摸事件。

答案 2 :(得分:1)

根据android生命周期,如果用户按下主页按钮或键盘锁定onPause将被调用。所以做这样的事情。

@Override
public void onPause()
{
super.onPause();
Timer timer = new Timer();
TimerTask task = new TimerTask() {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        finish();
    }
};
timer.schedule(task, 60000);
}

如果用户在60秒之前到达onRestart()

@Override
public void onRestart()
{
super.onRestart();
timer.cancel();
timer.purge();
}