在我的 Android 应用程序中,我有一个主要活动“MyActivity”,它覆盖了 onConfigurationChanged() 方法。在该方法中,我检查方向的变化,如果更改为横向,则调用另一个活动:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
super.onConfigurationChanged(newConfig);
startActivity(new Intent(this, BaseFullScreenActivity.class));
}
}
然后,当我将手机更改为横向时,会调用另一个活动类“BaseFullScreenActivity”,它工作正常。在那个被调用的活动中,我再次覆盖 onConfigurationChanged() 方法以再次结束这个子活动:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
if(newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
super.onConfigurationChanged(newConfig);
finish();
}
}
但是,在第二次方向更改(回到纵向)时,应该结束我的子活动并再次显示主要活动,应用程序崩溃并且我收到以下错误:
android.app.SuperNotCalledException:
Activity MyActivity did not call through to super.onConfigurationChanged()
我确实在两个活动中都覆盖了 onStop() 方法并调用了 super.onStop(),但这对我没有帮助。
还有其他想法吗?
在此先感谢您的帮助!