2016-05-30 21 views
0

我有一个活动,我已经实现了onBackPressed方法,并且在这个方法中我已经实现了代码“Press again to exist”。当用户按agin存在时,我想要的代码我不想让app存在我想运行app在背景中。 我该怎么做,请告诉我解决方案。如何在android中按“再次存在”在后台移动应用程序?

这里是我的代码: -

@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

使用 moveTaskToBack(真); –

回答

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; 
} 
} 
+0

我想用这个方法当用户按两次不在一次 – John

+0

@John更新了代码。 –

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

} 
相关问题