如何在android中移动后台活动?

如何在android中移动后台活动?,android,Android,我有一个应用程序,在该应用程序中,我被执行onBackPressed,但当我按下onBack时,它将通过调用finish()完成活动 它可以正常工作,但当我按下设备主页按钮时,它也将完成活动,我想要的onBcakpressed它将完成活动,当按下设备主页按钮时,它将在后堆栈中移动该活动。我如何做 代码为:- private long lastPressTime = 1; @Override public void onBackPressed() { long currentTime =

我有一个应用程序,在该应用程序中,我被执行onBackPressed,但当我按下onBack时,它将通过调用finish()完成活动

它可以正常工作,但当我按下设备主页按钮时,它也将完成活动,我想要的onBcakpressed它将完成活动,当按下设备主页按钮时,它将在后堆栈中移动该活动。我如何做

代码为:-

private long lastPressTime = 1;

@Override
public void onBackPressed() {
    long currentTime = System.currentTimeMillis();

    if ((currentTime - lastPressTime) < 2000) {
        finish();
    } else {
        Toast.makeText(this, "Press again to exit", Toast.LENGTH_SHORT).show();
        lastPressTime = currentTime;
    }
}
private long lastPressTime=1;
@凌驾
public void onBackPressed(){
长currentTime=System.currentTimeMillis();
如果((当前时间-上次按时间)<2000){
完成();
}否则{
Toast.makeText(这是“再次按下退出”,Toast.LENGTH_SHORT.show();
lastPressTime=当前时间;
}
}
试试这个

首先取一个布尔值

布尔值mbacktweeds=false

反压时

@Override
public void onBackPressed() {
if (mBacktwice) {
    super.onBackPressed();
    return;
}

this.mBacktwice = true;
Toast.makeText(this, "Please click BACK again to exit", Toast.LENGTH_SHORT).show();

new Handler().postDelayed(new Runnable() {

    @Override
    public void run() {
        mBacktwice=false;                       
    }
}, 2000);
} 

首先,设备主页按钮永远不会完成活动。它的设计是为了回家。所有处于运行状态的应用程序都处于backback状态。您的活动将被调用onPause()

关于您的问题,我猜您可能正在从onPause()调用onBackPressed()或finish()


由于这一点,只有您的活动一直在完成

我同意,我写的是相同的回复代码onPause、onResume或complete,如果可能的话