是否可以在显示“最近记录”,按“后退”或“主页”按钮之前显示对话框?

时间:2019-05-30 16:54:20

标签: java android kotlin

我试图检测用户何时单击BackPressed(这可以覆盖onBackPressed())以及主页按钮和最近按钮。

我的目标是,在用户接受对话框之前不要退出该应用程序,例如,我正在使用一个应用程序,该功能不允许其他应用程序查看内容,所以我想做类似于“安全性”。

场景将是:

  1. 用户正在观看视频(这是一个示例)
  2. 用户尝试按方形按钮以显示最新的应用程序
  3. 然后,用户会看到一个对话框,提示您是否离开,如果按“是”,则会放开视频(无论...)。按常规操作,例如如果按“否”,则查看“最近记录”,不显示最近记录... < / li>
  4. 与主页按钮相同

我已经尝试过onPause(),但事实是在完成操作后我看到了对话框,如果执行if条件,它会崩溃,因为它需要super.onPause()

任何线索如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

我认为您只能处理后退按钮。对于后退按钮,您可以覆盖“活动”的onBackPressed()方法并向用户显示一个对话框,然后在用户单击对话框的“是”按钮时调用android.os.Process.killProcess(android.os.Process.myPid())

@Override
public void onBackPressed() {
     //show dialog
}

private void onDialogYesButtonClick() {
    android.os.Process.killProcess(android.os.Process.myPid())
}