admin管理员组文章数量:1531287
1. 首先配置B款app的Schemes
路径:manifest.json—>源码视图—>app-plus—>distribute
"distribute" : {
"android" : {
"schemes" : [ "jining" ]
},
}
2.实现A款app跳转B款app
if (plus.os.name == "Android") {
//安卓
console.log("安卓");
if (
plus.runtime.isApplicationExist({
//查看安卓系统手机有没有下载这款app
pname: "com.yl.jining", //B款app云打包的包名
})
) {
//安装了app
console.log("安装了");
plus.runtime.launchApplication({
//打开app
pname: "com.yl.jining", //B款app云打包的包名
extra: {
//跳转携带的参数需要拼接在url后面
url: `jining://com.yl.jining?token=${token}`,
//url B款app配置的schemes+云打包的包名
//跳转携带的参数也可在下面直接添加,如下例子token:token
token: token, },
function(e) {
console.log(
"Open system default browser failed: " + e.message
);
},
});
} else {
//未安装app需要下载路径
console.log("未安装");
plus.runtime.openURL('https://a.app.qq/o/simple.jsp?pkgname=xxxx', function(res) {
// //进入后台小哥哥给我的应用宝下载链接,让你们后台给你
// //这链接会判断你手机是ios还是Android,Android进入应用宝下载app
// //跟下面的是一个链接
// console.log(res);
});
}
}
3.B款App接收参数
B款 App.vue文件需要如下操作
// 在App.vue需要添加如下代码
onLaunch() {
//#ifdef APP-PLUS
this.checkArguments() // 检测启动参数
// 重点是以下: 一定要监听后台恢复 !一定要
plus.globalEvent.addEventListener('newintent', (e) => {
this.checkArguments() // 检测启动参数
})
},
在methods里面添加此方法(可根据实际情况进行相应调整)
若想查看接收的参数,uni可选择uni.showModal类似方式查看
checkArguments() {
console.log('Shortcut-plus.runtime.launcher: ' + plus.runtime.launcher)
// 通过快捷方式启动,iOS平台表示通过3D Touch快捷方式,Android平台表示通过桌面快捷方式启动
try {
var cmdString = plus.runtime.arguments
var cmd = JSON.parse(cmdString)
// 直接携带参数的处理
if (cmd.token) {
this.getUserInfo(cmd.token)
} else {
// 通过url携带参数的处理
if (cmd.url && cmd.url.split('?')) {
let params = {}
let arr = cmd.url.split('?')[1].split('&') || []
for (let i = 0; i < arr.length; i++) {
params[arr[i].split('=')[0]] = arr[i].split('=')[1]
}
params.token && this.getUserInfo(params.token)
}
}
} catch (e) {
console.log('Shortcut-exception: ' + e)
}
// }
},
版权声明:本文标题:uni安卓实现从一个app(A)带参数跳转到另一个app(B) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1725438135a1023237.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论