双按后退按钮不起作用

时间:2016-01-24 11:15:23

标签: android

我在按下后退按钮时出现问题,我有一个活动,我可以将数据添加到数据库中。我的问题是每次我添加一些内容然后进入主要活动,当我按下后退按钮时它将被重定向到添加活动。

这是主要活动中的onBackPressed代码:

@Override
public void onBackPressed() {
 if (doubleBackToExitPressedOnce == true){
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_HOME);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            finish();
            System.exit(0);
        }

        doubleBackToExitPressedOnce = true;
        Toast.makeText(MainActivity.this, "Press once again to exit", Toast.LENGTH_SHORT).show();
}

任何人都可以帮忙解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:1)

private long lastPressedTime;
private static final int PERIOD = 2000;// 2 sec

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        switch (event.getAction()) {
        case KeyEvent.ACTION_DOWN:
            if (event.getDownTime() - lastPressedTime < PERIOD) {
                // todo your 
            } else {
                Toast.makeText(getApplicationContext(), "Press once again to exit",
                        Toast.LENGTH_SHORT).show();
                lastPressedTime = event.getEventTime();
            }
            return true;
        }
    }
    return false;
}