应用程序已在后台运行时深入链接到应用程序

DDu*_*man 8 android deep-linking

我已经实现了DeeplinkActivity来捕获intent-filter数据方案并打开一个活动.我遇到的问题是应用程序已在后台打开,然后用户单击深层链接以打开主屏幕活动.如果用户按下退出应用程序,它将转到后台运行的内容.我想让它退出应用程序.

我试过这个.

        Intent intent = new Intent(this, LaunchActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有什么建议?

Mah*_*ara 5

我刚刚自己解决了这个问题。

首先,您需要转到清单并将 launchMode 设置为“singleTask”,这将阻止您的应用程序完全打开新实例。

其次,您需要进入接受该意图过滤器的活动并覆盖此方法

override fun onNewIntent(intent: Intent?) {
    super.onNewIntent(intent)
}
Run Code Online (Sandbox Code Playgroud)

现在,通过使用此处的新意图,您将可以访问深层链接,并能够路由到应用程序中您需要的位置。


con*_*ull 1

发现这个几乎 2 年前的问题,同时面临完全相同的问题...可能为时已晚,但对于其他有相同问题的人来说:我的解决方案是使用应用程序上下文而不是当前(活动)上下文。所以第三行看起来像: getApplicationContext().startActivity(intent);