Android 在发送启动我的应用程序的意图后,如何返回浏览器而不退出我的应用程序?

Android 在发送启动我的应用程序的意图后,如何返回浏览器而不退出我的应用程序?,android,android-intent,android-activity,Android,Android Intent,Android Activity,因此,我在清单中声明了这样一件棘手的事情,以便能够从浏览器启动我的应用程序: <activity android:name=".BrowserIntentCallBackActivity" android:noHistory="true" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category andr

因此,我在清单中声明了这样一件棘手的事情,以便能够从浏览器启动我的应用程序:

<activity android:name=".BrowserIntentCallBackActivity"
    android:noHistory="true" >
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data
            android:host="*"
            android:scheme="trickyapp" />
    </intent-filter>
</activity>

此操作正常,并按预期启动我的
browserintentcallback活动。如果我的应用程序之前没有启动,那么完成
browserententcallbackactivity
会将用户返回到浏览器并恢复正常状态。
但是,如果我的应用程序先前已启动且正在后台运行,则完成
BrowserIntentCallBackActivity
会将用户返回到我的应用程序的先前活动。但我想将用户发送回浏览器,在那里他/她单击了非常特殊的链接,并且我的
browserinttcallbackactivity
是由
intent
启动的。我不想杀死我的跑步应用程序。

如何实现这一点?

尝试设置活动的启动模式:


我相信您的任务的正确模式将是“singleTask”或“singleInstance”,尽管我在这方面的经验有限,因此您必须进行实验才能确定。

注意,如果您有时也从内部启动活动,您可以尝试根据意图而不是在清单中设置启动模式,因此,它的行为将根据它是来自浏览器还是来自内部而有所不同。我是这样想的(我的意思是设置活动的启动模式标志),但我认为smb可以准确地知道要使用哪些参数/标志。还有很多隐藏的行为,比如如果你使用singleInstance,然后单击Home(将应用程序发送到bg)也会终止活动,这不是一个选项。