Xamarin Android Start应用程序使用带参数的链接 [英] Xamarin Android Start app using link with parameters

查看:89
本文介绍了Xamarin Android Start应用程序使用带参数的链接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有问题.我创建了一个IntentFilter,以便在单击特定链接时启动我的应用程序.这是我的IntentFilter:

I have a problem. I created a IntentFilter so my app launches when clicked on a specific link. Here is my IntentFilter:

[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Android.Content.Intent.CategoryBrowsable },
DataScheme = "myapplication.app"
)]

这是链接:

<a href='myapplication.app://'>here</a>

但是如何在该链接中传递参数(整数)?如何在我的C#代码中使用该参数?

But how can I pass a parameter (integer) in that link and how can I use that parameter in my C# code?

推荐答案

完整的URL Scheme协议格式包含Scheme,主机,端口,路径和查询.结构如下:

A complete URL Scheme protocol format consists of Scheme, host, port, path, and query. The structure is as follows:

<scheme>://<host>:<port>/<path>?<query>

并在调用的Activity中接收数据,例如:

and receive data in the called Activity like:

[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataScheme = "urlschemetest2",
DataHost = "testurl.com")]

链接:

<a href="urlschemetest2://testurl.com/?firstname=john&lastname=doe">Test Opening App</a>

获取参数:

 protected override void OnNewIntent(Intent intent)
 {
   Android.Net.Uri uri  = Intent.Data;
   if(uri != null)
   {
      string firstName = uri.GetQueryParameter("firstname");
      string lastName = uri.GetQueryParameter("lastname");
   }
   base.OnNewIntent(intent);
 }

这篇关于Xamarin Android Start应用程序使用带参数的链接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆