我正在使用Xamarin开发Android应用程序。我希望能够在用户打开链接 <div id="page169" title="170" class="seitenumbruch">
<p class="_10_Lesetext_02_Txt_lb"><span class="semibold-semicondensed _idGenCharOverride-1">Name.</span> Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
</div>
<div id="page170" title="170" class="seitenumbruch">
<p class="_10_Lesetext_02_Txt_lb seitenumbruch"><span class="semibold-semicondensed _idGenCharOverride-1">Name.</span> Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
</div>
<div id="page171" title="171" class="seitenumbruch">
<p class="_10_Lesetext_02_Txt seitenumbruch">together Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
<p class="_10_Lesetext_02_Txt_lb"><span class="semibold-semicondensed _idGenCharOverride-1">Name.</span> Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
<p class="_10_Lesetext_02_Txt_lb"><span class="semibold-semicondensed _idGenCharOverride-1">Name.</span> Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text</p>
</div>
时打开应用程序,因此我将其添加到我的清单文件中:
example://gizmos
这是直接从Android文档中获取的。我尝试点击我的物理Android设备上的邮件应用程序中的<activity android:name="mynamespace.MyActivity"
android:label="@string/application_name" >
<intent-filter android:label="@string/application_name">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "http://www.example.com/gizmos” -->
<data android:scheme="http"
android:host="www.example.com"
android:pathPrefix="/gizmos" />
<!-- note that the leading "/" is required for pathPrefix-->
<!-- Accepts URIs that begin with "example://gizmos” -->
<data android:scheme="example"
android:host="gizmos" />
</intent-filter>
</activity>
链接,但收到消息:example://gizmos
修改
它与建议的副本不同,它们不使用Xamarin。
答案 0 :(得分:4)
在Xamarin android中,活动配置在活动类的属性中设置
例如:
namespace XamarinAndroidDeepLink
{
[Activity(Label = "XamarinAndroidDeepLink", MainLauncher = true, Icon = "@drawable/icon")]
[IntentFilter(new[] { Android.Content.Intent.ActionView },
DataScheme = "wori",
DataHost = "example.com",
DataPathPrefix ="/",
Categories = new[] { Android.Content.Intent.CategoryDefault,Android.Content.Intent.CategoryBrowsable })]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
}
}
}
您不需要在清单中设置意图过滤器,c#将帮助您在清单中构建配置。
通过adb测试深层链接:
adb shell am start -W -a android.intent.action.VIEW -d "wori://example.com/?id=1234" XamarinAndroidDeepLink.XamarinAndroidDeepLink
你会发现你的应用程序开始:
某些浏览器无法区分网址。他们会在您的客户网址之前添加http://
,当您在地址栏中输入网址时,它会使用搜索引擎。
我建议您设计自己的html页面并下载google chrome以打开html页面:
注意:请勿通过html viewer
打开html页面<html>
<head>
<title>Product 12345</title>
</head>
<body>
<a href="wori://example.com/?id=1234">lalala</a>
</body>
</html>
下载谷歌浏览器并打开您的链接: