复现示例:(pages/index/index.vue)
<template>
<view>
<view>
<button style="margin: 10rpx 0;" @click="addShortcut('快捷方式1','data111')">生成 快捷方式1, 参数:data111</button>
<button @click="addShortcut('快捷方式2','data2')">生成 快捷方式2, 参数:data2</button>
<button @click="addShortcut('快捷方式3','data3')">生成 快捷方式3, 参数:data3</button>
</view>
<view style="margin: 10rpx 0;">运行日志:</view>
<view class="show-log">
<view v-for="(item,index) in logList" :key="index">
<view>--------------</view>
<view>{{index+1}}:{{item}}</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
logList: []
}
},
onShow() {
this.log('运行方式:',plus.runtime.launcher, '参数:',plus.runtime.arguments)
if (plus.navigator.launcher == 'shortcut') {
uni.showToast({
title: "从快捷方式运行,参数:"+plus.runtime.arguments
})
}
},
methods: {
log(...arg) {
this.logList.push(arg.join(','))
console.log(...arg)
},
addShortcut(name,param) {
var that = this;
plus.navigator.createShortcut({
name: name,
extra:{
param: param,
},
force: true,
}, function(e){
console.log("A=",e); // {"sure":false}
if (e.sure == false) {
uni.showModal({
content: "请在权限设置中,启用添加 “快捷方式” 相关权限,否则无法创建快捷图标",
success(res) {
}
})
}
}, function(e){
console.log("B=",e);
console.log("C=",e.message);
});
},
}
}
</script>
<style>
</style>
简约_FE (作者)
目前版本可有正确获取 launcher、argument 状态的兼容方案吗?
2023-04-04 10:07
懒懒的
请问现在有其他解决方案吗?
2023-05-15 14:50
格克
现在解决了吗 目前还是不行
2024-03-28 16:16
小七ing
什么时候解决呢?
2024-07-24 09:52