关于App中再按一次退出实现方式

想必大家都见过,大多数的App都有这么一种情况,就是当我们在App上进行如何操作,在最后快要退出的时候,往往要连按两次Back键,第一次的时候会有提示“再按一次退出”等提示语,在提示还没消失的时候再按一次,应用真正退出。下面我们就来看看如何简单实现这一种,第一种是我们的常规做法,第二种保准会让你爱不释手。

1
2
3
4
5
6
7
8
9
10
private long exitTime = 0;
@Override
public void onBackPressed() {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(this,R.string.press_again_exit_app,Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else {
finish();
}
}

我们在这里重写onBackPresswd(),判断时间戳,想必大家都是这么实现的,这里介绍一个简单的Method。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public Toast toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toast = Toast.makeText(this, "再按一次退出", Toast.LENGTH_LONG);
}

@Override
public void onBackPressed() {
if(null == toast.getView.getParent()){
toast.show();
}else{
System.exit(0);
}

当我们的toast显示不消失,那么我们获取到的toast.getView.getParent()始终不为空,在我们在toast没消失的时候再点击一次Back,那么整个应用退出。是不是很简单啊。

版权声明:



除非注明,本博文章均为原创,转载请以链接形式标明本文地址。

坚持原创技术分享,您的支持将鼓励我继续创作!