我有一个活动,我已经实现了onBackPressed方法,在这个方法中我已经实现了“再次按下存在”的代码。当用户按下agin存在时我想要的东西我不希望app存在我想要在后台运行应用程序。 我该怎么办,请告诉我解决方案。
这是我的代码: -
@Override
public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce = false;
}
}, 2000);
}
答案 0 :(得分:0)
使用moveTaskToBack(true);
if (doubleBackToExitPressedOnce) {
moveTaskToBack(true);
}
编辑
尝试这种效果。这将在500毫秒内连续背压时退出。根据自己的喜好改变500毫秒。
long lastPressTime = 0l;
@Override
public void onBackPressed() {
long currentTime = System.currentTimeMillis();
if( (currentTime-lastPressTime) < 500l )
{
// Double Press
moveTaskToBack(true);
}
else
{
Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show();
lastPressTime = currentTime;
}
}
答案 1 :(得分:0)
尝试这是实现此目的的一种非常简单的方法
private int i = 0;//this is activity's global variable
@Override
public void onBackPressed() {
++i;
if(i==1)
Toast.makeText(this, "Press once again to exit!", Toast.LENGTH_LONG).show();
else
finish();
}