<template>
<div>
<uni-title title='打开外部app'></uni-title>
<div class='container'>
<button class='btn' type="default" @tap="openApp('sunflower')">向日葵远程</button>
</div>
<div class='container'>
<button class='btn' type="default" @tap="openApp('zhifubao')">支付宝</button>
</div>
<div class='container'>
<button class='btn' type="default" @tap="openApp('qq')">qq</button>
</div>
<div class='container'>
<button class='btn' type="default" @tap="openApp('taobao')">淘宝</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
appMap: {
'zhifubao': {
name: '支付宝',
pname: 'com.eg.android.AlipayGphone',
appurl: 'market://details?id=com.oray.sunlogin',
scheme: 'alipay://'
},
'sunflower': {
name: '向日葵',
pname: 'com.oray.sunlogin',
appurl: 'market://details?id=com.oray.sunlogin',
scheme: 'alipay://'
},
'taobao': {
name: '淘宝',
pname: 'com.taobao.taobao',
appurl: 'market://details?id=com.oray.sunlogin',
scheme: 'taobao://'
},
'qq': {
name: 'QQ',
pname: 'com.tencent.mobileqq',
appurl: 'market://details?id=com.oray.sunlogin',
scheme: 'mqq://'
},
}
}
},
methods: {
openApp(name) {
let c = this
let pname = this.appMap[name].pname
let scheme = this.appMap[name].scheme
let appurl = this.appMap[name].appurl
//安卓
if (plus.os.name == 'Android') {
//存在
if (c.isExistApp(pname)) {
plus.runtime.launchApplication({
pname: pname
},
function(e) {
// c.openMarket(appurl)
}
);
} else {
uni.showModal({
title: '提示',
content: '您还没有此APP,去下载',
success: function(res) {
if (res.confirm) {
c.downloadUrl(
"https://down.oray.com/sunlogin/android/Sunlogin_Remote_11.2.1.40714.apk"
)
} else if (res.cancel) {}
}
});
}
//ios
} else if (plus.os.name == 'iOS') {
plus.runtime.launchApplication({
action: this.appMap[name].scheme
}, function(e) {
console.log('Open system default browser failed: ' + e.message);
});
}
},
downloadUrl(url, func) {
plus.runtime.openURL(url, function(res) {
func()
});
},
isExistApp(pname) {
return plus.runtime.isApplicationExist({
//查看安卓系统手机有没有下载这款app
pname: pname //微信app云打包的包名
})
},
openMarket(marketPackageName) {
if (plus.os.name == "Android") {
//打开安卓应用商店
var Uri = plus.android.importClass("android.net.Uri");
var uri = Uri.parse(`market://details?id=`);
var Intent = plus.android.importClass('android.content.Intent');
var intent = new Intent(Intent.ACTION_VIEW, uri);
var main = plus.android.runtimeMainActivity();
main.startActivity(intent);
} else if (plus.os.name == 'iOS') {
let appurl = "itms-apps://itunes.apple.com/cn/app/com.eg.android.AlipayGphone";
}
}
},
onLoad() {
}
}
</script>
<style>
.container {
padding: 8px 20px;
}
.btn {
width: 20rem;
color: #FFFFFF !important;
background-color: #007AFF !important;
}
</style>
夜神模拟器安装
下载链接
安装完成打开页面如下:
配置adb路径和端口号,夜神端口号默认为62001
点击运行
结果如图所示