Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何让第二个启动器始终在指定的活动中打开应用程序_Android_Android Activity_Manifest_Launchmode - Fatal编程技术网

Android 如何让第二个启动器始终在指定的活动中打开应用程序

Android 如何让第二个启动器始终在指定的活动中打开应用程序,android,android-activity,manifest,launchmode,Android,Android Activity,Manifest,Launchmode,在我的应用程序中,我指定了可以使用此清单条目从启动器启动的第二个活动: <activity android:name=".Lists.ListOfListsActivity" android:icon="@drawable/ic_launcher_lists" android:launchMode="singleTop" android:label="@string/lists_activity_name" >

在我的应用程序中,我指定了可以使用此清单条目从启动器启动的第二个活动:

    <activity 
        android:name=".Lists.ListOfListsActivity"
        android:icon="@drawable/ic_launcher_lists" 
        android:launchMode="singleTop"
        android:label="@string/lists_activity_name" >
        <!--  An Intent filter so that the Lists activity shows in the Launcher -->
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

假设我在“主”活动中打开应用程序,然后按home键。我的应用程序仍将运行,但处于后台

稍后,用户从主屏幕上选择我为“ListsOfListsActivity”设置的启动器图标

这将使应用程序处于前台,但不是在“ListOfListsActivity”,而是在它进入后台时的当前活动(例如在“main”活动)

这令人困惑,因为用户选择了“ListofListActivity”,但显示了另一个。然后他们必须导航到它

通过为“ListOfListsActivity”指定launchMode=“singleTask”,我可以更好地实现这一点,但在该模式下,无法从另一个活动为结果启动它(startActivityForResult()),我需要能够这样做才能选择列表

问题:
-如何指定一个意图过滤器,该过滤器将强制某个活动进入前台并成为所选活动,而不管应用程序的当前状态及其当前活动如何???

我的最终实现是为我希望独立于启动器启动的每个活动定义一个不同的taskAfinity字符串


这样,每个“快捷方式”都会启动我想要的活动,但我无法避免的缺点是,用户可能有多个任务,其中包含来自我的应用程序的活动,并且可能在不同的任务中打开/激活同一个活动……

好吧,我会尝试。。。。但像这样,我没有太多答案,我想回答这个问题……有一个答案,我将接受这个问题(经过尝试,看看它是否奏效),现在它已经消失了!(