问题:微信里分享一个链接给你,你点击这个链接,一、如果你安装了这个钱包,那就直接打开钱包。二、如果没有安装钱包就跳转到下载钱包的地方

要点:首先要让浏览器知道 app 是谁,然后再让浏览器调用app

一.app是谁 -> 配置scheme

  • 需要在 app 的配置文件中 注册 app的启动协议 (URL Scheme)
  • Android 中的 scheme 是一种页面内跳转协议:

1.通过定义自己的scheme协议,可以非常方便跳转app中的各个页面

2.通过scheme协议,服务器可以定制化告诉App跳转那个页面

3.可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等`

二.通过 js 跳转

  • 可以直接 在 浏览器地址栏 输入 配置好的 app url
  • 也可以通过 js 设置地址栏 跳转到 app url
// 1.如果当前手机是 ios 系统
if (browser.versions.ios) {
// 1.1 先尝试直接打开 app
window.location.href = "打开该App的连接://openApp";
// 1.2 过2秒后,跳转到 app 的下载地址
setTimeout( function () { window.location.href = "该App的连接地址; }, 2000 );
}
// 如果当前手机是 android 系统
else if (browser.versions.android) {
// 1.1 先尝试直接打开 app
window.location.href = "打开该App的连接://openApp";
// 1.2 过2秒后,跳转到 app 的下载地址
setTimeout(function () { window.location.href = "该App的连接地址"; }, 2000)
}
// 代码参考 :https://www.cnblogs.com/h--d/p/5846675.html
  • 图解:

参考: https://www.cnblogs.com/whoislcj/p/5825333.html

通过超链接启动App的更多相关文章

  1. [Android]从Launcher开始启动App流程源码分析

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5017056.html 从Launcher开始启动App流程源码 ...

  2. ActivityManagerService是如何启动app

    ActivityManagerService是如何启动app 一.      上一篇文章app的启动过程,说明了launcher启动app是通过binber,让ActivityManagerServi ...

  3. Appium学习路—脚本篇(启动app)

    启动之前的准备   1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch     2.iOS的测试只能在mac本上做   ...

  4. Android Launcher分析和修改9——Launcher启动APP流程

    本来想分析AppsCustomizePagedView类,不过今天突然接到一个临时任务.客户反馈说机器界面的图标很难点击启动程序,经常点击了没有反应,Boss说要优先解决这问题.没办法,只能看看是怎么 ...

  5. 通过超链接打开App应用

    URL schemes, 通过超链接打开App应用 var mobileAppInstall = (function () { var ua = navigator.userAgent, loadIf ...

  6. Android 启动APP黑屏解决方案

    #Android 启动APP黑屏解决方案# 1.自定义Theme //1.设置背景图Theme <style name="Theme.AppStartLoad" parent ...

  7. Android在浏览器启动APP

    要想在浏览器启动APP的方法例如以下: 在须要跳转的ACTIVITY中加入intent-filter的相关信息: <intent-filter>     <data android: ...

  8. ele.me在IOS浏览器端启动APP的技巧分析

    ele.me在IOS浏览器端启动APP的技巧分析 巧妙利用后台重定向,在schemes启动时提示用户打开,启动不了APP时能够及时跳转至下载页面. 避免报错页面的出现以及用户还没来的及选择就跳转到下载 ...

  9. appium+Python 启动app(二)

    我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import ...

随机推荐

  1. boost-容器

    1.array array相当于是一个增加了STL容器接口的数组,但它不像vector等容器一样可以动态增长,如果需要动态变动array的容量可以使用boost::scoped_array.array ...

  2. hadoop学习笔记(三):hdfs体系结构和读写流程(转)

    原文:https://www.cnblogs.com/codeOfLife/p/5375120.html 目录 HDFS 是做什么的 HDFS 从何而来 为什么选择 HDFS 存储数据 HDFS 如何 ...

  3. 开启笔记本win7的虚拟热点笔记本变成wifi

    工具/原料 windows 7电脑一台 步骤/方法 1 开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费和路由器购买费 ...

  4. Mysql中Left Join Right Join Inner Join where条件的比较

    建立一对多的表 company 和 employee company表 id      name      address 1baidu北京 2huawei深圳 3jingdong北京 4tengxu ...

  5. 安卓修改开机logo

    这里我们是在ubuntu下进行操作我是用root用户登陆的,首先安装netpbm库 执行:apt-get install netpbm 对于Android系统最开始表现logo是在内核当中,所以首先我 ...

  6. 怎样导入现有的NiosII工程

    查找路径

  7. 使用Kotlin&Anko, 扔掉XML开发Android应用

    尝鲜使用Kotlin写了一段时间Android.说大幅度的减少了Java代码一点不夸张.用Java的时候动不动就new一个OnClickListener()匿名类,动不动就类型转换的地方都可以省下很多 ...

  8. 20155326刘美岑 2016-2017-2 《Java程序设计》第二周学习总结

    20155326刘美岑 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 教材第三章主要讲解的是基础语法,主要包括认识类型与变量.学习运算符的基本使用.了解类型 ...

  9. noip第15课作业

    1. 累加求和 给定n(1<=n<=100),用递归的方法计算1+2+3+4+5+......+(n-1)+n. 输入:一个大于等于1的整数. 输出:输出一个整数. [样例输入] 5 [样 ...

  10. lca tarjin

    这个算法  我个人认为是  遍历每一个点把它当成一些询问的最近祖先 1 2 3 4 5 6 low是并差集,vis是是否访问过,访问过为true,没有为false: 假设询问是(4,4),(4,5), ...