我正在尝试使用
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),您将得到:
然后,如果您打开应用程序,它将在此处输入完整的URL作为URI参数.这是在App.cs(Xamarin.Forms.Application)中
protected override void OnAppLinkRequestReceived(Uri uri)
{
base.OnAppLinkRequestReceived(uri);
}
然后,您可以根据需要解码URI,以移至应用中与URL相关的特定页面/