Google官方教程讲解点击这里
情景: 通过浏览器或分享链接唤起应用
核心: 类似安卓隐式Intent启动
用法如下:
1. Web页面或分享页面包含一个url链接
<a href="appname://com.example.demo/main">点击打开</a>
或者
<a href="appname://com.example.demo/main?name=csdn&age=5">点击打开</a>
😃 回顾一下Uri格式
<scheme> :// <host> : <port> / [<path> | <pathPrefix> | <pathPattern>]
2. AndroidManifest.xml文件中对响应的activity进行配置
<activity
android:name=".SecondActivity"
android:exported="true">
<intent-filter>
<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 "appname://com.example.demo/main” -->
<data
android:scheme="appname"
android:host="com.example.demo"
android:pathPrefix="/main" />
<!-- note that the leading "/" is required for pathPrefix-->
</intent-filter>
</activity>
3. Activity生命周期中处理Intent响应
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
if (data != null) {
String scheme = data.getScheme(); // "appname"
String host = data.getHost(); // "com.example.demo"
String name = data.getQueryParameter("name"); // "csdn"
String age= data.getQueryParameter("age"); // "5"
}
}
4. 检验DeepLink是否有效
可自定义一个网页,通过链接进行测试;
也可以利用命令行进行测试:
$ adb shell am start
-W -a android.intent.action.VIEW
-d <URI> <PACKAGE>