나는는 한 번만 호출의 onConfigurationChanged 매 2
I 오버라이드의 onConfigurationChanged 세로에서 가로로 전화를 돌려 그들 사이를 전환과 같은 새로운 활동을 시작할 수 있습니다이 명하는 행동이 AB와 사용자가 :
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation==ActivityInfo.SCREEN_ORIENTATION_USER || newConfig.orientation==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE || newConfig.orientation==ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE)
{
final TabGroupActivity tabGroupActivity = (TabGroupActivity) this.getParent();
final Intent arIntent = new Intent(tabGroupActivity, ARActivity.class);
tabGroupActivity.startActivity(arIntent);
}
}
을 그것은 처음에는 잘 작동하지만 두 번째, 세 번째는 괜찮습니다. 두 번씩 작동합니다.
실패 할 때마다 액티비티 A가 가로 방향으로 회전하고 오버라이드 된 OnConfigurationChanged가 호출되지 않은 것으로 나타났습니다. .
제안 사항? 여기
는@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.i(TAG,"onConfigurationChanged orientation : " + newConfig.orientation);
if (!mProgressDialog.isShowing() && (newConfig.orientation==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT|| newConfig.orientation==ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT))
{
mOrientationTimer.cancel();
this.finish();
}
}
다른 레이아웃을 적용했기 때문에 두 가지 활동이 있습니까? 이런 식으로 활동을 시작하는 이유를 파악하려고합니다. – ainesophaur