本人小白一枚,今天在写项目的时候突然遇到一个问题:如何在界面中无操作十秒后自动跳转待机界面,待机点击被点击之后回到原来界面?查资料之后解决了,记录一下,废话不多说,上代码。
A界面实现代码:
先写一个handle:
private Handler THandle = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
mIntent = new Intent(A.this,B.class);
startActivity(mIntent);
}
};
在onCreate()方法中发送handle消息:
THandle.sendEmptyMessageDelayed(1,10000); // 十秒后发送消息
有操作重新开始计时,这个需要重写onTouchEvent()方法:
@Override
public boolean onTouchEvent(MotionEvent evet) {
THandle.removeMessages(1); // 移除这个消息队列(重新计时)
THandle.sendEmptyMessageDelayed(1,10000);// 十秒钟后重新发送消息
return true;
}
由于有可能从待机界面回到A界面什么操作也不做,所以这个时候还需要重写一个onResume方法:
@Override
protected void onResume() {
super.onResume();
THandle.removeMessages(1); // 移除这个消息队列(重新计时)
THandle.sendEmptyMessageDelayed(1,10000);// 十秒钟后重新发送消息
}
A界面就完成了,待机界面B非常简单,写一个点击事件,一个finish()结束界面即可,在这就不上代码了。至此功能完成。