private long startTime=15*60*1000; // 15 MINS IDLE TIME
private final long interval = 1 * 1000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
countDownTimer = new MyCountDownTimer(startTime, interval);
}
@Override
public void onUserInteraction(){
super.onUserInteraction();
//Reset the timer on user interaction...
countDownTimer.cancel();
countDownTimer.start();
}
public class MyCountDownTimer extends CountDownTimer {
public MyCountDownTimer(long startTime, long interval) {
super(startTime, interval);
}
@Override
public void onFinish() {
//DO WHATEVER YOU WANT HERE
// CIERRA LA APP MATANDO EL PROCESO Y VUELVE A ABRIRLO.
android.os.Process.killProcess(android.os.Process.myPid());
}
@Override
public void onTick(long millisUntilFinished) {
}
}
int tiempo = 0; // Indícalo.
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
final Intent i = new Intent(ActividadActual.this, ActividadPrincipal.class);
ActividadActual.this.startActivity(i);
ActividadActual.this.finish();
}
}, tiempo);
您可以使用 CountDownTimer 类,这里是一个如何使用它的示例
在 onFinish 方法中,您必须执行启动另一个活动的操作。
一旦你有时间,以纳秒为单位,你及时存储它并执行以下代码,可以说,Handler 是并发线程管理器,它将向 APP(mainThread)发送消息以执行你编写的代码方法运行()。