我将随时运行一个Android应用程序,并且我尝试在一个函数中编写代码,如果30秒内没有用户活动,应用程序将退出。
我已经浏览了很多线索,其中大部分内容都比我想要的更详细。 (例如 - Application idle time)
非常感谢任何帮助。
答案 0 :(得分:1)
这里你可以做一个布尔变量isInputEventOccurred并在发生任何事件时将其初始化为false使其成为真。
在onCreate中启动一个匿名线程,30秒后检查isInputEventOccurred是真还是假,并根据该操作进行操作。
long timeBeforeThreadStart = System.currentTimeMillis();
boolean isInputEventOccurred = false;
Thread t = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while ((System.currentTimeMillis() - timeBeforeThreadStart) < (30 * 1000)) {
// you add sleep here if you want instead of loop
}
if (!isInputEventOccurred) {
// write code to close app
}
}
});
t.start();