5

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

4

5 回答 5

12

这是您要问的一个示例:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK ) {
        //do your stuff
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-06-29T16:30:19.673 回答
2

只需调用愚蠢的函数,这将关闭当前活动并将您移动到上一个屏幕

finish();
于 2012-06-29T17:14:33.250 回答
0

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

但是,这违反了用户期望发生的事情的规则,并且不建议这样做,除非您覆盖返回按钮以返回 WebView 中的页面或类似的东西。

于 2012-06-29T16:28:13.747 回答
0
public void onBackPressed() {

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

            return;
        }
于 2013-10-21T11:49:31.517 回答
0

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

于 2015-04-09T12:27:03.440 回答