Xamarin.forms OnAppLinkRequestReceived

我正在尝试使用
https://developer.xamarin.com/api/member/Xamarin.Forms.Application.OnAppLinkRequestReceived/p/System.Uri/,但似乎无法以任何方式调用它.

有没有人试图实现这种新方法?
我已经尝试了几种方法来实现不同的深层链接,所有这些都打开应用程序,所以它们正确配置,但该方法永远不会被调用.

谢谢.

最佳答案 这就是我在Android中设置它的方式.

把它放在你的MainActivity.cs上面

 [IntentFilter(new[] { Android.Content.Intent.ActionView },
 Categories = new[]
 {
     Android.Content.Intent.CategoryDefault,
     Android.Content.Intent.CategoryBrowsable
 },
 DataScheme = "http",
 DataPathPrefix = "/tesla/",
 DataHost = "exrin.net")]

这会在安装应用程序时注册活动.将URL更改为所需的URL.

仅限Android(无需使用iOS),您还需要安装Nuget Xamarin Forms AppLinks

在您的OnCreate中,请确保在Xamarin Forms Init之后执行此操作

 AndroidAppLinks.Init(this);

然后,当您在浏览器中加载URL时(在我的示例中为http://exrin.net/tesla),您将得到:

《Xamarin.forms OnAppLinkRequestReceived》

然后,如果您打开应用程序,它将在此处输入完整的URL作为URI参数.这是在App.cs(Xamarin.Forms.Application)中

    protected override void OnAppLinkRequestReceived(Uri uri)
    {  
        base.OnAppLinkRequestReceived(uri);
    }

然后,您可以根据需要解码URI,以移至应用中与URL相关的特定页面/

更多细节见Xamarin Forms AppLinks

点赞