我想在我的活动的片段中执行某项操作,但仅在按下“返回”按钮的情况下才会执行某项操作,而不是在应用程序隐藏在其他活动后面时,或者"最小化& #34;使用" home"按钮/
我该怎么做
答案 0 :(得分:1)
onPause()
移至后台时,将调用 Activity
。 onPause()
是您处理离开活动的用户的地方。请参见图表here。
如果Activity
中有另一个onPause()
被调用。您可以覆盖onPause()
。你可以做任何事情/保存任何东西。当活动再次进入前景时onResume()
被调用。您也可以覆盖它,并在那里恢复任何内容。
@Override
public void onPause() {
super.onPause(); // Always call the superclass method first
// Release the Camera because we don't need it when paused
// and other activities might need to use it.
if (mCamera != null) {
mCamera.release()
mCamera = null;
}
}
@Override
public void onResume() {
super.onResume(); // Always call the superclass method first
// Get the Camera instance as the activity achieves full user focus
if (mCamera == null) {
initializeCamera(); // Local method to handle camera init
}
}
对于后退按钮,请参阅this。
答案 1 :(得分:0)
您的活动可以使用onBackPressed
方法。将此传递给你的片段可以通过广播或可能的事件总线完成(我推荐奥托为此)。这样,您的活动就可以通知您的片段onBackPressed
来电。
答案 2 :(得分:0)
您可以轻松地执行此操作:只需在sharedPreference中使用变量并在活动中的onBackPressed中将其切换为将其与可能导致onPause的其他操作分开,然后在onResume中重置它:)