ionic开发——检测是否安装某APP,如果安装打开该APP
2017-06-14 09:46
417 查看
首先,我们需要安装cordova插件
config.xml:
首先,我们要先判断是android还是ios平台
第一种:
第二种:
检测完成后就是打开第三方APP了,这里我们拿百度地图为例,完整代码如下:
ios中用下面这个方法:
对于ios9+需要配置白名单,否则检测无效:
具体打开什么APP,去查找他的scheme就可以了
cordova plugin add https://github.com/lampaa/com.lampa.startapp.git //打开第三方APP cordova plugin add cordova-plugin-appavailability --save//检测是否存在第三方App cordova plugin add cordova-plugin-inappbrowser //应用内置浏览器
config.xml:
//ios <allow-intent href="baidumap://*/*" /> //android <allow-intent href="bdapp://*/*" />
首先,我们要先判断是android还是ios平台
第一种:
var u = navigator.userAgent; var ua = navigator.userAgent.toLowerCase(); if(!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)){//如果是ios //do something } if (ua.match(/Android/i) == "android") {//如果是android // do something }
第二种:
// Don't forget to add the cordova-plugin-device plugin for `device.platform` if(device.platform === 'iOS') { //ios } else if(device.platform === 'Android') { //android }
检测完成后就是打开第三方APP了,这里我们拿百度地图为例,完整代码如下:
var scheme; // Don't forget to add the cordova-plugin-device plugin for `device.platform` if(device.platform === 'iOS') { scheme = 'baidu://'; } else if(device.platform === 'Android') { scheme = 'com.baidu.BaiduMap'; } appAvailability.check( scheme, // URI Scheme or Package Name function() { // Success callback alert(scheme + ' is available :)'); var sApp = startApp.set({ /* params */ "action":"ACTION_MAIN", "category":"CATEGORY_DEFAULT", "type":"text/css", "package":"com.baidu.BaiduMap", "uri":"file://data/index.html", "flags":["FLAG_ACTIVITY_CLEAR_TOP","FLAG_ACTIVITY_CLEAR_TASK"], // "component": ["com.android.GoBallistic","com.android.GoBallistic.Activity"], "intentstart":"startActivity", }, { /* extras */ "EXTRA_STREAM":"extraValue1", "extraKey2":"extraValue2" }); sApp.start(function() { /* success */ alert("OK"); }, function(error) { /* fail */ alert(error); }); }, function() { // Error callback alert(scheme + ' is not available :('); } );
ios中用下面这个方法:
var scheme; // Don't forget to add the cordova-plugin-device plugin for `device.platform` if(device.platform === 'iOS') { scheme = 'baidu://'; } else if(device.platform === 'Android') { scheme = 'com.baidu.BaiduMap'; } appAvailability.check( scheme, // URI Scheme or Package Name function() { // Success callback alert(scheme + ' is available :)'); var sApp = startApp.set("baidumap://"); sApp.start(function() { /* success */ alert("OK"); }, function(error) { /* fail */ alert(error); }); }, function() { // Error callback alert(scheme + ' is not available :('); } );
对于ios9+需要配置白名单,否则检测无效:
<key>LSApplicationQueriesSchemes</key> <array> <string>baidumap</string> </array>
具体打开什么APP,去查找他的scheme就可以了
打开store下载百度地图: ios: window.open("https://itunes.apple.com/cn/app/id452186370") android: window.open("market://search?q=com.baidu.BaiduMap")
相关文章推荐
- ionic3先检测是否安装了app,没有就安装,有则打开
- js判断手机是否安装了某个APP,如果安装了就打开,没安装就下载
- 小胖说事50-----IOS 检测APP是否在手机上安装并且打开APP
- 【Android】检测app是否安装、安装并打开的方法
- js判断手机是否安装了某个APP,如果安装了就打开,没安装就下载
- 在html页面中判断本地app是否安装并打开
- 给你的移动网站加点料:推荐下载App,如果本地安装则直接打开本地App(Android/IOS)
- IOS开发判断是否第一次使用软件且下次app自动更新后再次打开还是第一次使用
- Android之从Browser中打开本地的应用程序&微信检测是否有对应app
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- JS检测APP是否安装的情况
- android:如果手机安装了app则打开一个activity,如果没有安装则去到android market如何在HTML页面实现
- 检测iphone是否安装有某个程序,或者打开某个程序openURL CanOpenURL
- Android检测是否安装了某个应用,同时进行App间的跳转
- android:如果手机安装了app则打开一个activity,如果没有安装则去到android market如何在HTML页面实现
- 检测iphone是否安装有某个程序,或者打开某个程序openURL CanOpenURL
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- iOS项目开发小技巧 (五) --检测是否打开应用定位及跳到系统设置定位页
- IOS开发笔记之推广安装(用网页判断是否安装App)
- android 开发程序检测本地是否安装第三方应用程序