Cordova判断iPhone百度地图App是否安装

App中难免会用到第三方导航,使用前就要判断用户是否安装这个App。
参考


  1. 插件准备
- cordova plugin add cordova-plugin-appavailability --save    //检测是否存在第三方App  
- cordova plugin add cordova-plugin-device                    //检测基本平台信息
  1. config.xml 设置(未做必须测试
//ios  
<allow-intent href="baidumap://*/*" />  
//android  
<allow-intent href="bdapp://*/*" />  
  1. 平台判断(android和ios需要区分
 if(device.platform === 'iOS') {  
          //ios  这里只做iPhone的判断 不考虑android 这一步不写也行 
      }  
      else if(device.platform === 'Android') {  
          //android  
      }  
  1. 检测方法
function checkButton(){
    // Don't forget to add the cordova-plugin-device plugin for `device.platform`  
      if(device.platform === 'iOS') {  
          scheme = 'baidumap://';  //   注意这个地方和config.xml刚刚添加的
      }  
      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 :(');  
          }  
      );  
}
  1. 对于ios9+需要配置白名单,否则检测无效:!!!
在`resource`文件夹找到info.plist 添加如下图所示
如图 添加key-value

还不是美滋滋

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

推荐阅读更多精彩内容