如何检测应用程序是否已被最小化"按主页按钮或隐藏在另一个活动后面

时间:2014-11-17 13:32:40

标签: android

我想在我的活动的片段中执行某项操作,但仅在按下“返回”按钮的情况下才会执行某项操作,而不是在应用程序隐藏在其他活动后面时,或者"最小化& #34;使用" home"按钮/

我该怎么做

3 个答案:

答案 0 :(得分:1)

onPause()移至后台时,将调用

ActivityonPause()是您处理离开活动的用户的地方。请参见图表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中重置它:)