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

uniapp ios支持长按app 3D Touch快捷菜单项,第1张

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

uniapp 安卓 长按app 快捷方式 shortcut

一、配置manifest.json文件
切换到代码视图,uni-app项目在"app-plus"->“distribute”->"ios"下添加shortcuts节点,并配置各菜单项,数组中每项对应一个快捷菜单项:

    "shortcuts" : [
                    {
                        "type" : "sweep",
                        "title" : "扫一扫",
                        "subtitle" : "",
                        // "icontype" : "UIApplicationShortcutIconTypeShare"  
                        "iconfile" : "/static/img/sweep.png"  //自定义图标 路径相对于根目录
                    }
                ]

其中各字段值规范如下:
1.type: (必选)菜单项类型,字符串类型,用于标识菜单项
2.title: (必选)菜单项上显示的标题,字符串类型
3.subtitle: (可选)菜单项上显示的子标题,字符串类型
4.icontype: (可选)菜单项上显示的图标类型,字符串类型,取值参考iOS官方文档UIApplicationShortcutIconType
5.iconfile: (可选)菜单项上显示的图标文件,字符串类型,相对5+应用根目录路径,图标要求35x35分辨率,单色,参考Apple官方PS模板图
6.userinfo: (可选)菜单项上的自定义数据,JSON格式
项目目录:

二、APP.vue内,应用生命周期onshow()内,监听应用是否为快捷键“扫一扫”打开所启动

	onShow: function() {
		console.log('App Show');
         if(plus.runtime.launcher=='shortcut'){//快捷方式唤醒扫一扫功能
                    var cmd = JSON.parse(plus.runtime.arguments);  
                    var type=cmd&&cmd.type;  
                    console.log(type)//sweep
                   if(type&&type=="sweep"){
                   、、、、、、快捷 *** 作要执行的逻辑
                   }
     }

以上 *** 作完成,执行代码时发现:
plus.runtime.launcher 得到的值是default,而不是 shortcut???
百度结果:
pages.json有condition这个节点会影响ios的启动,去除即可。

然后,执行代码,发现第一次使用快捷键打开应用后,后续不是快捷键打开也会执行上述快捷键逻辑。
原因:首次使用快捷键打开应用后,plus.runtime.arguments对象内始终保存着type值,除非杀掉app。
所以每次快捷键打开应用后,只需将plus.runtime.arguments置空即可。


onShow: function() {
		console.log('App Show');
         if(plus.runtime.launcher=='shortcut'){//快捷方式唤醒扫一扫功能
                    var cmd = JSON.parse(plus.runtime.arguments);  
                    var type=cmd&&cmd.type;  
                    console.log(type)//sweep
                   if(type&&type=="sweep"){
                   、、、、、、快捷 *** 作要执行的逻辑
                   }
                    plus.runtime.arguments=null;
     }

效果:

参考:
ios 快捷菜单项
IOS下plus.runtime.arguments不能获取到URL Scheme协议参数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/993399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存