问题描述
我在 MainActivity.cs 中有一个带有 LaunchMode = Singletop
的 Android Xamarin Forms 应用程序。当应用首次通过深层链接 URL 调用时,方法 OnAppLinkRequestReceived
在 App.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);
}