【发布时间】:2015-01-15 17:12:53
【问题描述】:
您好,我有 2 项活动, 活动 A 和活动 B, 所以它的活动 A 和一个按钮点击我去活动 B。 现在我按下主页按钮,然后去做许多其他事情。由于内存问题,任务被android关闭。现在,当我尝试再次打开它时,它从活动 B 开始。这是预期的吗? 如果是,有没有办法防止它?
下面是定义两个活动的 AndroidManifest 部分 活动 A = MenuActivity,活动 B = AndroidLauncher
<activity
android:name=".AndroidLauncher"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:finishOnTaskLaunch="true"
android:screenOrientation="portrait" >
</activity>
<activity
android:name=".MenuActivity"
android:clearTaskOnLaunch="true"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我也放了Activity B的onCreate代码
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_view);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
int gameType = getIntent().getIntExtra("GAME_TYPE", 0);
GDXtoAndroidInterface.sharedInstance().activity = this;
TurnBasedHelper.sharedInstance().listener = this;
FrameLayout lg=(FrameLayout)findViewById(R.id.layout);
lg.addView(initializeForView(new LetterPress(GDXtoAndroidInterface.sharedInstance(),gameType), config));
busyDialog = new ProgressDialog(this);
busyDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
busyDialog.setCanceledOnTouchOutside(false);
busyDialog.setCancelable(false);
showBusy("Setting up..");
Log.d("MSG", "on create called launcher");
}
另外我需要这个的原因是 Activity A 就像一个登录屏幕,而 Activity B 是基于它的。活动 B 不能单独进行。用户必须从活动 A 移动到活动 B
谢谢
【问题讨论】:
-
请参阅有关 Activity 生命周期的 Android 文档:developer.android.com/training/basics/activity-lifecycle/…
-
是的,这是应用程序的预期行为。您的应用程序只是最小化。每个应用程序都以这种方式工作。正如@MarcinOrlowski 所说,检查 Android 文档和 Activity 生命周期 :) 干杯
-
@MarcinOrlowski 我想总是从Activity A开始在这种情况下如何实现呢?
-
@PeterM。如何始终从 Activity A 开始
标签: android