如何在Android中的“按再次存在”的背景中移动应用程序?

时间:2016-05-30 12:26:16

标签: android

我有一个活动,我已经实现了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);
}

2 个答案:

答案 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(); 

}