在我的申请中,我有5项活动。 A
,B
,C
,D
,E
。活动B
,C
,D
,E
扩展了扩展AppCompat的活动A
。当应用程序从Android Studio启动时,活动A
将启动活动B
。通过活动B
,用户可以决定要加载C
,D
或E
的活动。我的代码工作正常,直到用户退出应用程序并决定再次启动它。该应用程序显示活动A
,并且不会将用户带到活动B
。我希望用户看到活动B
。我该如何解决这个问题?
答案 0 :(得分:0)
您是否尝试重写onResume()方法以显示活动B?
@Override
public void onResume(){
super.onResume();
setContentView(R.id.layout_B);
}
答案 1 :(得分:0)
听起来你应该将活动B定义为清单中的启动器,我假设活动A被模板/默认定义为启动器。
<activity name="{Activity B's name}">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
活动B将是您的应用程序的“根”,此时活动B被添加到堆栈中活动A的顶部。
如果活动A也在进行一系列自举,则需要另一种方法,但需要更多信息。
答案 2 :(得分:0)
如果您希望在应用关闭后保留申请状态,则可能需要使用SharedPreferences
:
final String CURR_ACTIVITY_KEY = "curr_activity";
int currentActivityKey = 1;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
prefs.edit().putInt(CURR_ACTIVITY_KEY, currentActivityKey).commit();