Java 始终从根活动启动应用程序

Java 始终从根活动启动应用程序,java,android,android-intent,android-activity,Java,Android,Android Intent,Android Activity,我有一个处理deeplink的活动,这是一个可浏览的活动 假设用户单击另一个应用程序上的链接,而我的可浏览活动处理了该意图 并启动应用程序,然后用户在使用后按后退按钮将应用程序最小化 如果用户从运行的应用程序重新打开我的应用程序,我的可浏览活动将开始,而不是启动程序活动 <activity android:name="com.example.android.deeplink" > <intent-filter>

我有一个处理deeplink的活动,这是一个可浏览的活动

假设用户单击另一个应用程序上的链接,而我的可浏览活动处理了该意图

并启动应用程序,然后用户在使用后按后退按钮将应用程序最小化

如果用户从运行的应用程序重新打开我的应用程序,我的可浏览活动将开始,而不是启动程序活动

<activity android:name="com.example.android.deeplink"

         >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <data
                android:host="com.example"
                android:scheme="test" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
    </activity>
所以我的问题是,如果用户从正在运行的应用程序启动我的应用程序,我如何从启动程序活动启动我的应用程序,而不是浏览我的应用程序

Quora使用相同的程序,您可以通过单击任何其他应用程序上Quora的链接进行测试

可浏览活动清单

<activity android:name="com.example.android.deeplink"

         >
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <data
                android:host="com.example"
                android:scheme="test" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
    </activity>
如果用户从运行的应用程序启动我的应用程序,我如何从启动程序活动启动我的应用程序而不是可浏览

实现这一目标的方法不止一种

我认为,最好、最简单的方法是在可浏览的活动中添加活动标志:

android:excludeFromRecents="true"
设置此标志-将首先确保此活动不会显示在最近的任务中


文档中有更多信息-

是的,但是这种方法会将整个应用程序从运行任务中排除,这会降低用户友好性。你能告诉我实现这一点的其他方法吗?否,它只会将作为入口点启动的任务从可浏览活动中排除。你是对的,但你能告诉我还有什么其他方法可以让应用程序运行任务,但从启动程序活动开始吗?事实上,我已经考虑过了,我想不出其他方法来实现这种效果。当我想到这一点的时候,我不得不不同意你们的看法:用户用可浏览活动的屏幕截图来处理最近的任务是毫无意义的,事实上,你的主屏幕活动,据我所知,看起来不同。是的,没错,但quora使用相同的程序,如果你安装了quora,你可以检查它。我不知道他们是怎么做到的