一、DeepLink的概念
DeepLink是将用户直接带到应用中特定内容的网址。在Android中,可以通过添加intent filters 并从传入的intent中提取数据来设置DeepLink,从而将 用户引导向正确的Activity。
当单击的链接或编程请求调用Web URI的intent时,Android系统将按顺序尝试以下每个操作,直到请求成功为止:
1.打开用户首选的可以处理URI的App(如果已指定)。 2.打开唯一可以处理URI的可用App。 3.允许用户从对话框中选择App。
即:用户通过点击或者其他的操作发送url请求,系统会对该url进行解析,然后调起注册过相应scheme的应用,如果有多个注册,会弹出对话框让用户选择。
二、DeepLink的作用
实现了网页与App之间的跳转。每个App不再是一个个独立的孤岛。交互非常的方便,将App连接到了整个网络世界,用过浏览器就能随意的跳转。
2. 通过DeepLink方式App之间可以相互拉活,相互跳转。
三、使用
1.创建指向应用内容的链接,需要在应用的AndroidManifest.xml中配置包含如下元素和属性的intent filter
<action>
中指定ACTION_VIEW,以便可以从Google搜索访问意图过滤器
<data>
添加一个或多个<data>
标记,每个标记表示解析为活动的URI格式。<data>
标签必须至少 包含该android:scheme 属性。
<category>
包括BROWSABLE 类别。为了从Web浏览器访问intent过滤器,需要它。没有它,单击浏览器中的链接无法解析为您的应用程序。
以下XML代码段显示了如何在清单中为深度链接指定intent过滤器。URI “example://gizmos”和“http://www.example.com/gizmos”两者都解析为此活动。
<activity
android:name="com.example.android.GizmosActivity"
android:label="@string/title_gizmos" >
<intent-filter android:label="@string/filter_view_http_gizmos