goOpenURL(){
plus.runtime.openURL(`runtimearguments://data=${new Date().getTime()}`, function ( e ) {
console.log('跳转错误',JSON.stringify(e))
});
}
export default {
onShow: function() {
console.log('App Show')
let data = uni.getLaunchOptionsSync();
console.log('getLaunchOptionsSync-query',JSON.stringify(data.query))
console.log('getLaunchOptionsSync-referrerInfo',JSON.stringify(data.referrerInfo))
console.log('getLaunchOptionsSync-launcher',JSON.stringify(data.launcher))
setTimeout(() => {
console.log('启动参数', plus.runtime.arguments)
}, 200)
},
onHide: function() {
// #ifdef APP-PLUS
// 进行清除是因为从其他app跳过来之后,不清除的话 当app在后台自唤起的时候启动参数没有自动清空 还是原来的值
plus.runtime.arguments = '';
// #endif
console.log('App Hide')
}
}
1 个回复
y***@163.com (作者)
已解决:
A 跳转 B
跳转APP:这里解决安卓端 B首次被唤起 操作后在后台 A再次唤起B参数为空的问题
2.B app 启动参数接收:
2.1 这里增加一个延迟,很玄妙但是可以解决ios端 如果B已经是后台运行状态,A唤起B,在B中无法获取到参数的问题。
2.2 这里启动参数获取到之后 把想要执行的函数执行了就要立即清除plus.runtime.arguments = '',是为了解决B首次被唤起 操作后在后台 A再次唤起B参数为空的问题
题外话:
之前一直是在onHide这里去清除plus.runtime.arguments 就不行 就是B首次被唤起 操作后在后台 A再次唤起B参数为空,所以我就把这个代码删了