如何确保 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。就您的应用程序而言,无法覆盖它。
如何确保 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。就您的应用程序而言,无法覆盖它。