深度链接“OnAppLinkRequestReceived”方法未在 Xamarin 应用程序中执行,LaunchMode = SingleTop

问题描述

我在 MainActivity.cs 中有一个带有 LaunchMode = Singletop 的 Android Xamarin Forms 应用程序。当应用首次通过深层链接 URL 调用时,方法 OnAppLinkRequestReceivedApp.XAML.cs 文件中执行。 在这方法中,我设置了一些从 URL 接收到的应用参数。

一旦我打开应用程序并使用主页按钮将其推送到后台并再次调用该 URL,在后台运行的应用程序就会被激活,但方法 OnAppLinkRequestReceived 根本没有执行。所以,我无法更改应用参数。

当我终止应用程序并再次打开 URL 时,会创建应用程序的一个新实例并执行 OnAppLinkRequestReceived

有没有办法在每次调用应用 URL 时调用 OnAppLinkRequestReceived,而不管应用是否已经在运行?

解决方法

MainActivity.cs 中的方法 OnNewIntent 之前是空白的。我添加了对基本方法的调用。

现在,当我尝试从后台重新打开应用程序时,会执行方法 OnAppLinkRequestReceived

protected override void OnNewIntent(Intent intent)
 {
     // Added this line
     base.OnNewIntent(intent);
 }