1、判断第三方程序是否已存在
Boolean plus.runtime.isApplicationExist(appInf);
如果第三方程序已安装则返回true,未安装则返回false。
appInf: ( ApplicationInf ) 必选 要判断第三方程序的描述信息
Android平台需要通过设置appInf的pname属性(包名)进行查询。 iOS平台需要通过设置appInf的action属性(Scheme)进行查询,在iOS9以后需要添加白名单才可查询,在manifest.json文件plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:["weixin"]).
// 判断第三方程序(微信) 是否安装 function checkApp(){ if(plus.runtime.isApplicationExist({pname:'com.tencent.mm',action:'weixin://'})){ console.log("微信应用已安装"); }else{ console.log("微信应用未安装"); } }
判断其他应用是否安装,可以用对应的pname和action来判断。以下是一些常用平台的pname和action。 平台 | pname | action -|-|- 微信 | com.tencent.mm | weixin:// | QQ |com.tencent.mobileqq | mqq:// |
新浪微博 | com.sina.weibo | sinaweibo:// |
淘宝 | com.taobao.taobao | taobao:// |
支付宝 | com.eg.android.AlipayGphone | alipay:// |
京东 | com.jingdong.app.mall | openApp.jdMobile:// |
优酷 | com.youku.phone | youku:// |
高度地图 | com.autonavi.minimap | iosamap:// |
百度地图 | com.baidu.BaiduMap | baidumap:// |
http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.isApplicationExist
2、判断APP强制更新弹层
// 接口获取当前版本信息
viewAppConfigApi().then((res) => { if(res.code == 1){ // app当前版本
plus.runtime.getProperty(plus.runtime.appid,(wgtinfo)=>{ versionNow = wgtinfo.version; if(verisonPlate !== versionNow){ // 版本号不同了 if(plate == 'android' && plateformConfig.isAndroidEnabled == 1){ // 安卓已上架 uni.hideTabBar(); this.showUpdate = true; }else if(plate == 'ios' && plateformConfig.isIosEnabled == 1){ // IOS已上架 uni.hideTabBar(); this.showUpdate = true; }else{ this.showUpdate = false; uni.showTabBar(); } }else{ this.showUpdate = false; uni.showTabBar(); } }) } })
点击立即更新跳转
if(plate == 'android'){ this.isLoading = true; uni.downloadFile({ url: this.downLoadUrl, success: data => { this.isLoading = false; if (data.statusCode === 200) { plus.runtime.install(data.tempFilePath, { force: false }, function() { plus.runtime.restart(); }); } } }) }else if(plate == 'ios'){ //在App Store Connect中的App Store下的app信息,可找到appleId let appleId= 'K64HH6LH8M'; plus.runtime.launchApplication({ action: `itms-apps://itunes.apple.com/cn/app/id${appleId}?mt=8` }, function(e) { console.log('Open system default browser failed: ' + e.message); }); }