如何确保 activity 在当前 android 版本的 onPause/onStop 中退出时显示警报(已处理 Backpress)

How to make sure activity show alert on exiting in onPause/onStop (Backpress is handled ) in current android version

如何确保 activity 在当前 android 版本的 onPause/onStop 中退出时显示警报(已处理 Backpress)。我有一个场景,用户需要进行一些评估,我需要确保在用户离开评估之前向用户显示警报。我在互联网上看到的例子很少,大多数人都在谈论 backpressed/KEYGUARD,但如果用户错误地单击主页按钮或试图退出 activity,我需要显示一个对话框。

下面的代码没有帮助

new OnKeyListener() {

                @Override
                public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
                    // TODO Auto-generated method stub

                    if(keyCode == KeyEvent.KEYCODE_HOME){
                        //do something
                    }
                    return false;
                }
            });

您可以在 Home Keypress 上保存数据。要显示对话框,您必须在应用程序上下文之外执行它,因为主页键会将用户带到主屏幕。当用户触发主页按钮时,当前 activity 关闭。用户被带到主屏幕。在此阶段,您的 activity 处于后台。您的 activity 无法触发对话,因为控制权已交给 Android OS。

根据 Android Docs,Home 键由框架处理,永远不会传递给应用程序。

本质上,您不能强迫用户在按下主页按钮后留在您的 Activity 中。一旦用户触发它,控制权就会交给 Android。就您的应用程序而言,无法覆盖它。