webapp检测安卓app是否安装并launch
1. cordova插件
1)查看所有已安装的安卓app
https://www.npmjs.com/package/cordova-plugin-packagemanager
A simple plugin that will return a list of installed applications or all on your smartphone. Retuen uid, dataDir and packageName.
functionsuccessCallback(e) {alert(JSON.stringify(e)); } functionerrorCallback(e) {alert('Error!' +e); }window.plugins.packagemanager.show(true, successCallback, errorCallback);
2)检测某安卓app是否已安装
https://www.npmjs.com/package/cordova-plugin-appavailability
从1)返回的list of installed applications中找到所需app的scheme,例如高德地图:com.autonavi.minimap。
varscheme;if (device.platform === 'iOS') {scheme= 'iosamap://'; }else if (device.platform === 'Android') {scheme= 'com.autonavi.minimap'; }appAvailability.check(scheme,//URI Scheme or Package Namefunction () { //Success callbackalert(scheme + ' is available :)');},function () { //Error callbackalert(scheme + ' is not available :(');} );
3)launch app
https://github.com/nchutchind/cordova-plugin-app-launcher
window.plugins.launcher.launch({ uri:'androidamap://route?sourceApplication=cortanademoservice&slat=39.979366&slon=116.31028&sname=我的位置&dlat=39.980016&dlon=116.326568&dname=公安局&dev=0&t=0'},successCallback,errorCallback);
2. JavaScript的tricky实现方法
安装app的情况下,网页会进入后台打开app,网页进入后台后会挂起js的执行,但是这个期间有600-1000ms的时间js仍然会执行,可以利用打开app的延时来判断是否有该app。
var t = 1000, hasApp = true; setTimeout(function() {if (!hasApp) {cordova.InAppBrowser.open('http://m.amap.com/navigation/carmap/saddr=116.310322%2C39.978957%2C%E5%BE%AE%E8%BD%AF%E5%A4%A7%E5%8E%A6&daddr=116.326568%2C39.980016%2C%E4%B8%AD%E5%85%B3%E6%9D%91%E6%B4%BE%E5%87%BA%E6%89%80&saddr_lonlat=116.310322%2C39.978957%2C%E5%BE%AE%E8%BD%AF%E5%A4%A7%E5%8E%A6&daddr_lonlat=116.326568%2C39.980016%2C%E4%B8%AD%E5%85%B3%E6%9D%91%E6%B4%BE%E5%87%BA%E6%89%80&saddr_typecode=120201&daddr_typecode=130501&saddr_poiid=B0FFFSPTNE&daddr_poiid=B000A7FCSP&maddr=&sort=&addPassing=remove');}$("#ifr").remove(); },2000);var t1 =Date.now();var ifr = $('<iframe id="ifr"></iframe>') ifr.attr('src', 'androidamap://route?sourceApplication=cortanademoservice&slat=39.979366&slon=116.31028&sname=我的位置&dlat=39.980016&dlon=116.326568&dname=公安局&dev=0&t=0'); $('body').append(ifr); setTimeout(function() {var t2 =Date.now();//delay time 30 may vary for different type of phonesif (!t1 || t2 - t1 < t + 30) {hasApp= false;} }, t);
利用iframe的动态加载来尝试打开app。
转载于:https://www.cnblogs.com/argenbarbie/p/7808340.html
webapp检测安卓app是否安装并launch相关推荐
- iOS应用中检测第三方app是否安装及跳转解决方案
最近在做支付宝支付,需要验证客户端是否安装支付宝钱包App,可通过Url Scheme框架实现. 参考文档 :http://www.jianshu.com/p/28f517775214 1. 以支付宝 ...
- 基于vue.js的uni app跨平台框架webapp、安卓app、苹果app、微信小程序 毕业设计 毕设作品 开题报告论文参考(2)预约订座APP系统
效果图
- win10/11如何安装安卓app?带你使用华为移动应用引擎
win11喜提安卓app,可是目前的版本还无法安装.但是如果你是华为的粉丝,你肯定知道,前段时间华为发布了一款⌈移动应用引擎⌋,这个⌈引擎⌋领先于win11实现了对移动 App 的支持,而且还支持wi ...
- android各版本安装方法,【2017/1/6】安卓老版安装方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 安装方式文档中写了简版,要是看不懂可以在细按以下步骤安装.以下均为安卓版,IOS请移步他处.[]括号内容请详细阅读清楚后在进行操作,另外请不要更新,不要更 ...
- 安卓APP:隐私合规检测常见问题建议总结
1.1 违规收集个人信息 1).APP隐私政策必须非常清楚.全面地说明(不要用可能收集.了解用户信息这种模糊不清晰的词语)收集用户个人信息的目的.方式和范围,用户个人信息包括但不限于mac地址.设备序 ...
- JS检测是手机否安装App并打开,否则跳转App Store的方法
常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码.但往往我们都是直接给推广图片加了一个下载链接(App Store中的).所以咱们来模拟一下用 ...
- win10兼容android下载安装,Win10手机运行安卓App兼容工具下载!
[PConline 资讯]不久前有人从泄漏的Windows 10手机版build 10240中,解包出了微软内置的可以让Windows 10手机版兼容安卓App的模块,详情可以点此查看.不过,Wind ...
- win11正式版如何安装安卓app windows11正式版安装安卓app的步骤方法
以前如果想要在Windows系统电脑上运行安卓应用的话,需要先下载安卓模拟器,不过现在不用这么麻烦了,在Win11的发布会上,宣布了可以在windows11系统中安装使用APP,所以下面我们来看看wi ...
- win11怎么安装安卓app win11上安装安卓app的步骤教程
微软win11最为亮眼的就是windows系统终于可以兼容原生安卓app了,但是很多安装了win11的朋友发现安装不了安卓app,今天小编来跟大家说说win11安装安卓app的步骤教程吧,更多win1 ...
最新文章
- leetcode-102 二叉树的层次遍历
- 融合应用11.1.8安装,一步一步的引导
- 【数论】数论基础合集
- 图灵2月书讯:书籍,不可分离的生命伴侣
- a few ideas for cambridge career
- 【LeetCode】104. Maximum Depth of Binary Tree (2 solutions)
- python gui界面 tcp_通过python实现TCP编程
- 每日一笑 | 程序员的招租公告
- TreeView 小技巧
- .NET根本权限管理框架源代码
- 英文课程名称 c语言程序设计,课程名称C语言程序设计I.doc
- sql 语句循环方法的使用
- 必须精力充沛,才扛得住世事艰难
- JavaScript 根据身份证号获取年龄
- IP地址和物理地址的区别和联系
- ikbc键盘win键失效的解决方法
- 微信小程序java python node医疗微服务系统医院预约挂号系统
- chatgpt智能提效职场办公-ppt怎么蒙层
- 教师资格证报名照片有什么要求?这些小细节要注意
- 根据ParentId生成树状结构这po事
热门文章
- my-large.cnf
- Qt 静态编译后的exe太大, 可以这样压缩.
- SQL语句中between and 范围
- mysql定时备份并上传ftp_Linux下定时任务实现mysql自动备份并上传远程ftp
- java listmode_java中图形界面ListModel的用法?方法如何调用?
- 数字电路中的竞争与冒险
- java字符串 n换行符_java切割字符串中的回车应注意是\n\r不是\n
- STM32串口发送中断
- Django用来作为爬虫框架浅谈
- jQuery 之 serialize() serializeArray()