活动开始不止一次,屏幕方向更改显示错误结果

时间:2012-08-07 01:55:08

标签: android android-layout android-intent android-widget

这是我的3个Android应用程序,我有一些奇怪的行为。 我当前的应用程序有一个主视图,其中一个按钮用于显示对话框(A),另一个按钮用于显示对话框(B)。

在我的所有应用程序中,如果我在对话框(A)中并且如果我重新启动应用程序,它将启动OnResume()并显示我之前离开的位置 - 对话框(A)。

在我当前的应用程序(类似代码)中,当我重新启动应用程序时,它将启动OnCreate()所有内容。经过一些谷歌搜索,我补充说:

  if (!isTaskRoot()) {            isStart = false;
      final Intent intent = getIntent();
      final String intentAction = intent.getAction(); 
      if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) {
          Log.w(APP_TAG, "Main Activity is not the root.  Finishing Main Activity instead of launching.");
          finish();
          return;       
      }       }

似乎纠正了这种行为。那么,为什么我的这个行为与我的其他2个应用程序无关?上面的代码到底是做什么的?

接下来,另一个奇怪的问题。

如果我启动应用程序,请单击主视图按钮显示对话框(A) - >显示对话框(B)改变屏幕方向并没有异常。

但是,如果我再次重新启动应用程序(第二次),虽然它显示我离开的地方,例如。主视图或对话框(A)但如果我进行屏幕方向更改,则无论前面的屏幕更改是在主视图还是对话框(A)中,它都会显示对话框(B)。

为什么?

0 个答案:

没有答案