Joh*_*ini 4 android orientation onpause android-activity
我有一个应用程序需要在有人退出其主要活动时调用完成(所以我不希望它被暂停),即使按下home活动也必须完成,处理这个当前我只是调用finish()我的onPause()方法,因为一切完成片段它很好地工作,并没有给出任何稳定性问题.
我唯一的问题是我无法处理onPause()以前调用的方向更改onConfigurationChanged()(允许我在发生旋转时禁用此行为).
我可以创建一个服务来处理这个,但它的方式复杂.
任何的想法?
您可以使用onWindowFocusChanged事件而不是onPause.方向更改时不调用此函数.
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.d(TAG, "FOCUS = " + hasFocus);
if (!hasFocus) finish();
}
Run Code Online (Sandbox Code Playgroud)
但请注意:当活动仍然可见时(例如onPause())会调用此事件,如果要在活动完全不可见时完成活动,则应使用onStop:
private boolean isInFocus = false;
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.d(TAG, "FOCUS = " + hasFocus);
isInFocus = hasFocus;
}
@Override
public void onStop() {
super.onStop();
if (!isInFocus) finish();
}
Run Code Online (Sandbox Code Playgroud)