整个应用程序只有一个实例有多个活动

时间:2014-05-18 17:40:53

标签: android android-fragments android-activity single-instance

我有一个包含3项活动的Android应用。我基本上想要一个包含所有三个活动的实例。

因此,对于活动A,B和C,我只希望用户能够一次查看其中一个。我不想要任何这些活动的多个实例。我尝试了android:launchMode="singleTask"哪种方式有效,但是当用户返回应用时,它总是首先再次启动活动A,而不是转到活动B,用户按下主页按钮。

我最好将这些活动托管的所有碎片移动到一个活动中并取消活动B和C吗?活动A只托管一个片段,即登录/注册页面。

使用singleTask launch mode我是否还需要在开始其他活动时添加Intent标志?

2 个答案:

答案 0 :(得分:0)

  

因此,对于活动A,B和C,我只希望用户能够   一次看其中一个。

当时你只能有一个Activity焦点。您的Activity后面可能会显示另一个Activity(即最高Activity可能会以Dialog为主题),但只有一个Activity有焦点;因此,用户当时只能与一个Activity进行交互。

  

它总是首先再次启动活动A,而不是转到活动   乙

Android将始终首先启动标记为

Activity
 <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>
AndroidManifest.xml中的

。您可以添加逻辑来创建未调用此Activity的错觉,并向相应的Intent启动Fragments

  

我最好只移动托管的所有碎片   这些活动分为一项活动,取消了活动B和   C 1

这完全取决于你。在我看来,使用Activity可能会更合适,因为您可以根据逻辑条件(即登录或不登录)轻松替换它们,而无需创建新的{{1}}(它可能看起来更加无缝)给用户)。

答案 1 :(得分:0)

你应该使用ViewPager而不是使用三个activitiew来使用三个片段。