H5界面按钮打开已安装的APP

H5实现链接格式如下

<a href="[scheme]://[host]/[path]?[query]"> 唤起应用 </a>

各个项目含义如下所示:

scheme:唤起协议 ※详细后述
host: 唤起指定host
path: 协议路径※没有也可以
query: 一些参数※没有也可以

APP实现

协议假设为:example://com.example.demo/app?name=zhangsan

AndroidManifest中添加配置

<activity android:name=".SchemeActivity"> 
  <intent-filter> 
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />    
    <category android:name="android.intent.category.DEFAULT" />
    <data
        android:scheme="example"
        android:host="com.example.demo"
        android:path="/app"/>
</intent-filter>
</activity>

DATA标签中匹配原则如下:
android:scheme : 唤起协议
android:host : 唤起host,只有置顶的host才可被唤起
android:pathPrefix : 唤起的路径,对路径进一步的过滤

客户端获取参数的值

Uri uri = this.getIntent().getData();
String scheme=uri.getScheme();
String host=uri.getHost();
String path=uri.getPath();
String name=uri.getQueryParameter("name");

注意事项

无论是在哪个平台的客户端Android/IOS,在微信的平台上访问都有一个问题,那就是无法启动客户端,这是微信为了安全性考虑的限制,android这边屏蔽schema协议,除非公司是微信的伙伴加入了白名单才能

原文链接:http://www.php.cn/html5-tutorial-370241.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,791评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,733评论 19 139
  • 缺省承载的QoS来自签约数据,可以参考TS23.401中章节HSS的数据结构。 专用承载的QoS可以来自PCRF的...
    啊啊啊ying啊阅读 3,736评论 0 0
  • 村口有一片海。 每天,总会有一个老人坐在在椅子上,眺望着那片海。周围有谁在吵架,有谁在唱戏,哪家哪户发生了什么事,...
    榴莲死忠粉阅读 2,425评论 0 0