可由第三方应用唤醒,也可以由网页唤醒,也可以通过adb命令直接测试唤醒。
1.网页唤起用例:
<!DOCTYPE html>
<head>
<meta charset="UTF-8" />
<meta id="viewport" name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,minimal-ui">
</head>
<html>
<input type="button" value="点击我打开Deeplink" onclick="javascrtpt:window.location.href='test://xiaoshuo.com/detail?id=28493'">
</html>
直接保存为html文件,存入手机中,然后选择用浏览器打开,点击“点击我打开Deeplink”按钮后,会显示下面的弹框,点击确认,即可唤醒相关应用。
2.adb命令唤起
adb shell am start -a android.intent.action.VIEW -d “test://xiaoshuo.com/detail?id=28493”
3.应用唤起
4.被唤醒应用设置
4.1AndroidManifest设置
<activity android:name="com.xiaoshuo.activity.DetailActivity" android:theme="@style/TranslucentTheme" >
<intent-filter>
<data
android:scheme="test"
android:host="xiaoshuo.com"
android:pathPrefix="/detail"
/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>
4.2 Activity接收参数
// 判断是否外部唤起
Uri data = getIntent().getData();
if (data != null) {
String host = data.getHost();
String path = data.getPath();
String id = data.getQueryParameter("id");
String scheme = data.getScheme();
Logger.i(TAG, "host: " + host);// xiaoshuo.com
Logger.i(TAG, "path: " + path);// detail
Logger.i(TAG, "scheme: " + scheme);// test
Logger.i(TAG, "id: " + id);// 10086
}
这个时候就可以测试DeepLink唤醒了。
至于是否直接进入到对应的Activity,还是需要判断被唤醒Activity之前的界面是否存在,然后再一级一级的进行跳转,就需要具体问题具体分析了。不过我们的应用没有考虑那么复杂,只需要唤醒进入对应的详情界面即可,按返回键时,会判断上一个Activity的界面是否存在,不存在则重新打开即可。
今天的文章deeplink怎么打开_deepwiser怎么连接分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/71674.html