uniapp微信小程序怎么打开手机里装的软件?
对的,App可以内嵌小程序,小程序不能掀起App
1.怎么在uniapp中使用api打开第三方软件呢?下面是我的做法,希望对大家有些帮助,话不多说,直接上代码。
<button type="default" @click="launchApp">打开第三方软件</button>
2 .在这里提出几个uniapp里面的API(只有在app中可以使用,在小程序中使用会报错)
isApplicationExist
判断第三方程序是否已存在
//Boolean
plus.runtime.isApplicationExist(appInf);
说明:
如果第三方程序已安装则返回true,未安装则返回false。
参数:
返回值:
示例:
// 判断第三方程序(微信) 是否安装
function checkApp(){ if(plus.runtime.isApplicationExist({pname:'com.tencent.mm',action:'weixin://'})){
console.log("微信应用已安装");
}else{
console.log("微信应用未安装");
}
}
launchApplication
调用第三方程序
plus.runtime.launchApplication( appInf, errorCB )
参数:
返回值:
示例:
function launchApp() {
if ( plus.os.name == "Android" ) {
plus.runtime.launchApplication( {pname:"com.android.browser"
,extra:{url:"http://www.html5plus.org"}}, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );
} else if ( plus.os.name == "iOS" ) {
plus.runtime.launchApplication( {action:"http://www.html5plus.org"}, function ( e ) {
alert( "Open system default browser failed: " + e.message );
} );
}
}
openURL
调用第三方程序打开指定的URL
void plus.runtime.openURL( url, errorCB, identity );
参数:
返回值:
因为我最近在做一个关于食品播放类型的app,牵扯到了腾讯会议app,所以我在这里以腾讯会议做例子
//判断app是否已经安装
checkApp() {
if (plus.runtime.isApplicationExist({ pname: 'com.tencent.wemeet.app' })) {
uni.showToast({
title: '腾讯会议已经安装'
});
} else {
uni.showToast({
title: '腾讯会议没有安装'
});
}
}
// 点击事件
launchApp() {
if (plus.os.name == 'Android') {
if(this.checkApp()){
plus.runtime.launchApplication({ pname: 'com.tencent.wemeet.app' }, function(e) {
alert('Open system default browser failed: ' + e.message);
});
}
}
},
4.常用的URLScheme
[
// 只在 ios 中生效
{
name: 'App Store',
scheme: 'itms-apps://'
},
{
name: '支付宝',
pname: 'com.eg.android.AlipayGphone',
scheme: 'alipay://'
},
{
name: '淘宝',
pname: 'com.taobao.taobao',
scheme: 'taobao://'
},
{
name: 'QQ',
pname: 'com.tencent.mobileqq',
scheme: 'mqq://'
},
{
name: '微信',
pname: 'com.tencent.mm',
scheme: 'weixin://'
},
{
name: '京东',
pname: 'com.jingdong.app.mall',
scheme: 'openApp.jdMobile://'
},
{
name: '新浪微博',
pname: 'com.sina.weibo',
scheme: 'sinaweibo://'
},
{
name: '优酷',
pname: 'com.youku.phone',
scheme: 'youku://'
}
]