通过超链接启动App
问题:微信里分享一个链接给你,你点击这个链接,一、如果你安装了这个钱包,那就直接打开钱包。二、如果没有安装钱包就跳转到下载钱包的地方
要点:首先要让浏览器知道 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的更多相关文章
- [Android]从Launcher开始启动App流程源码分析
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5017056.html 从Launcher开始启动App流程源码 ...
- ActivityManagerService是如何启动app
ActivityManagerService是如何启动app 一. 上一篇文章app的启动过程,说明了launcher启动app是通过binber,让ActivityManagerServi ...
- Appium学习路—脚本篇(启动app)
启动之前的准备 1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch 2.iOS的测试只能在mac本上做 ...
- Android Launcher分析和修改9——Launcher启动APP流程
本来想分析AppsCustomizePagedView类,不过今天突然接到一个临时任务.客户反馈说机器界面的图标很难点击启动程序,经常点击了没有反应,Boss说要优先解决这问题.没办法,只能看看是怎么 ...
- 通过超链接打开App应用
URL schemes, 通过超链接打开App应用 var mobileAppInstall = (function () { var ua = navigator.userAgent, loadIf ...
- Android 启动APP黑屏解决方案
#Android 启动APP黑屏解决方案# 1.自定义Theme //1.设置背景图Theme <style name="Theme.AppStartLoad" parent ...
- Android在浏览器启动APP
要想在浏览器启动APP的方法例如以下: 在须要跳转的ACTIVITY中加入intent-filter的相关信息: <intent-filter> <data android: ...
- ele.me在IOS浏览器端启动APP的技巧分析
ele.me在IOS浏览器端启动APP的技巧分析 巧妙利用后台重定向,在schemes启动时提示用户打开,启动不了APP时能够及时跳转至下载页面. 避免报错页面的出现以及用户还没来的及选择就跳转到下载 ...
- appium+Python 启动app(二)
我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import ...
随机推荐
- python3 print函数的用法
1. 输出字符串 >>> strHello = 'Hello World' >>> print (strHello) Hello World 2. 格式化输出整数 ...
- vue中的路由嵌套
1定义组件 const Index = { template:` <div>首页</div> ` } const Order = { template:` <div> ...
- BZOJ 2005 [Noi2010]能量采集 (数学+容斥 或 莫比乌斯反演)
2005: [Noi2010]能量采集 Time Limit: 10 Sec Memory Limit: 552 MBSubmit: 4493 Solved: 2695[Submit][Statu ...
- js,javascript,打印对象,object
function writeObj(obj){ var description = ""; for(var i in obj){ var property=obj[i]; desc ...
- WordPress-Word图片上传插件整合教程-Xproer.WordPaster
插件下载(PHP):wordpress 3.7.1, 说明:由于许多插件可能使用相同钩子,导致冲突,所以提供手支方式整合. 1.上传插件目录. 说明:WordPress 3.7.1 使用的是TinyM ...
- redis.conf之save配置项解读
配置示例: save 900 1 save 300 10 save 60 3600 配置解读: 1) “save 900 1”表示如果900秒内至少1个key发生变化(新增.修改和删除),则重写rdb ...
- (转)使用 vs.php 调试PHP
转自:http://www.jb51.net/article/24618.htm 早先在asp横行的年代,php和asp一样,大都都是html中夹杂代码,说实话,这时候IDE的确用处不是很大,倒是 ...
- Apache Flink 漫谈系列
阿里云讲Flink的,还是蛮不错 https://yq.aliyun.com/articles/666043?spm=a2c4e.11153940.blogcont679659.23.9fae56e7 ...
- hdu 4937 base进制只含3456的base数
http://acm.hdu.edu.cn/showproblem.php?pid=4937 给定一个数n,若这个数在base进制下全由3,4,5,6组成的话,则称base为n的幸运进制,给定n,求有 ...
- jQuery 与 或 的坑
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>< ...