如何区分最小/关闭和选择新活动之间的OnUserLeaveHint?

时间:2019-06-26 00:42:39

标签: java android android-activity

我正在尝试在Android Studio中编写程序,并且想检测OnUserLeaveHint。我的代码当前有效,但是当我单击按钮以移至另一个活动时也会调用它。

我如何以仅在最小化或关闭应用程序时才调用该方法的方式,而不是在单击按钮以打开另一个活动时才调用该方法?

1 个答案:

答案 0 :(得分:0)

按下HOME按钮时,流程如下:

onUserLeaveHint()
onPause()
onSavedInstanceState()
onStop()

从活动A过渡到活动B时,流程如下:

onUserLeaveHint()  (of Activity A)
onPause()  (of Activity A)
onApplyThemeResource  (of Activity B)
onCreate  (of Activity B)
onStart (of Activity B)
onResume  (of Activity B)
onSavedInstanceState()  (of Activity A)
onStop()  (of Activity A)

您需要了解听官方HOME按键没有官方的方法。几乎没有适用于大多数情况的解决方法,但并非100%具体的解决方案。您可以做的是,使用一种解决方案来聆听HOME的按下并打开标志。然后,使用此标志值来区分是按HOME键还是按Activity键。

检查以下代码示例: Detect home button press in android