Android为TV端助力 deep link(深度链接)与自定义协议!

此自定义仅供参考!

首先打开androidManifest.xml

在MainActivity中添加如下内容:

<activity android:name=".MainActivity">
    ......
  <intent-filter>
      <action android:name="android.intent.action.VIEW"/>
      <category android:name="android.intent.category.DEFAULT"/>
      <category android:name="android.intent.category.BROWSABLE"/>
      <data 
          android:scheme="com.example.androidtest"
       />
  </intent-filter>
</activity>
其中data标签里面
android:scheme用于指定协议,类似于http这样的东西,这里我们指定成了com.example.androidtest,
这是一个自定义的协议,指定成这样是为了避免和其它的应用程序冲突.
我们还可以通过android:host来指定域名,android:port来指定端口,android:path来指定路径,
这些属性都可以对deep links进行更多的限制,要满足特定条件才能打开指定App.
顺便说下https://www.baidu.com/s?cl=3&wd=deeplink 拆分的意思对应下面的
scheme://host:port/pathorpathPrefixorpathPattern
https表示加密的协议 对应android data标签里面的scheme
www.baidu.com 表示域名 对应data标签里面的host
s 表示端口 对应data标签里面的port
cl=3&wd=deeplink 表示path路径 对应data标签里面的path
这些属性是可选的,但也是相互依赖的。如果没有给Intent过滤器指定scheme属性,那么所有其他的URI属性都会被忽略。如果没有给过滤器指定host属性,那么port属性和所有的路径属性都会被忽略。
 
posted @ 2016-05-10 12:02  水柠檬QAQ  阅读(5326)  评论(0编辑  收藏  举报