在我们实际开发过程中,会有这么一种需求:很多App都会有一个分享功能,也许是分享某个商品,或者是分享某一个帖子等,当我们分享给别人的时候,如果别人手机上安装有我们的App我们更希望别人点击分享链接之后能直接打开App更快的进行购买或者互动。
在安卓系统中,google给我买提供了一种叫做Deep Link的东西,可以为我们解决这个问题。
Deep Link本质是是一种自定义协议,我们可以按照http协议的方式来进行定义。
- 在Manifest中Activity下定义
<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="demo" android:host="test" android:path="/detail"/>
</intent-filter>
- H5中定义方式
<a href="demo://test/detail?key=value">打开App</a>
- 代码中获取方式
Intent data=getIntent();
Uri uri=data.getData();
String scheme=uri.getScheme(); // demo
String host=uri.getHost(); // test
String path=uri.getPath(); // /detail
String value=uri.getQueryParameter("key"); //value
网友评论