uniapp 安卓 长按app 快捷方式 shortcut

Android app版本的 uni-app 项目实现shortcut。

ios:uniapp ios项目支持长按app 3D Touch快捷菜单项

基于uniapp插件市场 的shortcut插件实现。链接

百度搜索uniapp 安卓项目如何实现shortcut,看到有人给了两个方法:1.插件、2.NativeJS实现。
由于各方面原因(本人较菜),选择使用插件实现,感谢分享这个插件的大佬!!!
需要跳转页面,只需要按照插件说明使用插件:
在这里插入图片描述
插件下的评论:
在这里插入图片描述
我要实现的逻辑不需要跳转页面,只是唤醒扫一扫功能。
所以根据path判断是否为快捷方式打开软件,并执行相应逻辑。

App.vue文件:

onShow: function() {
		// #ifdef APP-PLUS

        //长按快捷方式扫一扫 开始
        this.main = plus.android.runtimeMainActivity();
        this.Shortcut();
        // const main = plus.android.runtimeMainActivity();
        const Intent = plus.android.importClass("android.content.Intent");
        const intent = this.main.getIntent();
        let path = intent.getStringExtra("path");// list 里面的 path 
        //根据 path路径判断是否由快捷方式开启app 不进行跳转
        
        if(path === null||!this.$store.state.hasLogin) return;//path为null或者未登录,直接return
        //使用 $nextTick 延时跳转,避免在 tabBar 页面出现 BUG
        this.$nextTick(function(){
            //快捷方式执行逻辑(跳转页面的话,只需要在此处写上跳转逻辑)
        })
        //移除跳转路径,避免后续打开默认为快捷方式唤醒
        intent.removeExtra("path");
        //长按快捷方式扫一扫 结束
		// #endif
	},
methods:{
	Shortcut() { //快捷方式插件
        	// js h5+ 模式创建
        	let res = addShortcuts(this.main, [{
        			id: 'sweep', //必填,不能重复
        			icon: plus.io.convertLocalFileSystemURL( '/static/img/sweep.png' ), //本地图片,要使用平台绝对路径
        			path: '/pageSub/sweep', //选填,跳转的页面路径  当前值为不存在的页面路径,不需跳转
        			shortLabel: '', //选填
        			title: '扫一扫' //必填
        		}
        	]);
        },
}

效果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值