详细问题描述 A app跳转B app,用plus.runtime.launchApplication方法带参数打开B app,B app在应用周期onShow里用plus.runtime.arguments接收参数。如果B app已经在手机上打开(在后台运行,进程未结束),此时从A app打开B app,B app就接收不到参数。
[内容]
A app index.vue
<button @click="launchApp">打开第三方app并传递参数</button>
plus.runtime.launchApplication(
{
pname: 'io.dcloud.UNI10627B8',
extra:{url:"/pages/index/test?i="+i}//传递参数
},
function(e) {
console.log('Open system default browser failed:' + e.message);
}
);
B app App.vue
if(plus.runtime.arguments != ""){
try{
var aj = JSON.parse(plus.runtime.arguments);
uni.showModal({
title: '提示',
confirmText:"确定",
showCancel:true,
content:plus.runtime.arguments.toString(),
success:(res)=>{
var aj=JSON.parse(plus.runtime.arguments)
uni.navigateTo({
url:aj.url
})
plus.runtime.arguments="跳转后清除arguments"
}
})
}catch(e){
console.log(e)
}
}
重现步骤
[步骤] A app,B app是云打包生成
[结果] 在B后台进程未结束时,从A 打开B ,B无法接收到A传过来的参数
[期望] 希望B能够接收到参数
[如果语言难以表述清晰,可以拍一个视频或截图,有图有真相]
IDE运行环境说明
HBuilderX 1.62 win10
App运行环境说明
Android版本9
小米8 SE MIUI 10.2
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[安装包] https://service.dcloud.net.cn/build/download/4718e780-40c1-11e9-bb04-af0a07f2a2e7
https://service.dcloud.net.cn/build/download/4718e780-40c1-11e9-bb04-af0a07f2a2e7
今天回复我了吗
在安卓端重新进去 还是只有一次
2019-07-09 17:26