做用户注册时遇到一个问题,就是提示注册成功后,activity停留在原页面,还需要用户手动回退。
那么就想到了Web端网页注册自动跳转页面的功能。
查询了一下可以使用Android自带的Timer计时器。
首先实例化Timer对象,构造计时器及其功能:
Timer timer = new Timer(); //构造一个自动关闭注册页面的定时器,注册成功后自动关闭
TimerTask task = new TimerTask() {
@Override
public void run() {
System.exit(0);
overridePendingTransition(0, 0);
}
};
后续完成注册后进行引用timer的run方法,执行关闭页面即System。exit(0);的操作
详细代码如下:
else {
ContentValues values = new ContentValues();
values.put("name", username);
values.put("password",password);
//数据库执行插入命令
db = dbHelper.getWritableDatabase();
db.insert("information", null, values);//将values插入到information表中
Toast.makeText(this, "注册成功!", Toast.LENGTH_SHORT).show();
db.close(); //释放资源
timer.schedule(task,1000); //执行
}
break;
}
注意最后要使用:timer.cancel();来注销计时器,否则会无休止运行,占用内存,代码如下:
public void onStop(){
super.onStop();
timer.cancel(); //关闭页面后自动注销计时器
}
另外,由于关闭页面的跳转动画过于明显影响用户体验,可以在System.exit(0);后面加上一句:
overridePendingTransition(0, 0);
以上。公众号:一十二笔