如何在android中捕获设备后退按钮事件?

时间:2012-06-29 16:23:04

标签: android

我通过我的应用程序打开了pdf文件。当点击设备返回按钮时,它会自动回到我的应用程序。它工作正常。我想在设备中收回按钮事件。我覆盖后退按钮。但它不工作。请帮助我。

5 个答案:

答案 0 :(得分:11)

这是你要问的一个例子:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK ) {
        //do your stuff
    }
    return super.onKeyDown(keyCode, event);
}

答案 1 :(得分:1)

只需调用以下函数,这将关闭当前活动并将您移至上一个屏幕

finish();

答案 2 :(得分:0)

您可以覆盖Activity类中的onKeyDown事件,并查找KEYCODE_BACK的keyCode。为了防止进一步传播,您将返回true以阻止系统处理它,这应该会阻止后退按钮将您的用户带出任何地方。

这违反了用户期望发生的规则,并且不推荐使用,除非您通过WebView中的页面或其他类似的内容覆盖后退按钮。

答案 3 :(得分:0)

public void onBackPressed() {

        Intent intent = new Intent(CurrentActivity.this,
                PreviousActivity.class);
        startActivity(intent);

            return;
        }

答案 4 :(得分:0)

如果您已经在应用程序中处理了与pdf文件相关的操作(如读取等),即在应用程序中有Activity或Fragment处理此pdf文件操作,那么您可以覆盖onBackPressed()方法将逻辑放在那里。但是如果你是通过意图打开pdf,即使用intents action参数使用其他应用程序,那么你不能在应用程序中覆盖onBackPressed()或onKeyDown()事件。但是,您可以将您的逻辑放在您打开pdf文件的活动中的overActivityResult()方法中。