3DTouch

来自于:官方立即使用

概述

3DTouch 封装了 iPhone6s、iPhone6s plus 以后版本的手机特有的 3DTouch 功能。使用本模块需要支持 3DTouch 屏幕的手机和 iOS9.0 以上的操作系统

注意:android仅7.1以及以上版本支持

可以在代码中动态设置快捷菜单,也可以在 Info.plist 里面配置快捷菜单,配置方法请参考链接里面的”配置 3DTouch 应用快捷菜单“://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=20

setListener

监听通过快捷菜单打开应用。建议在首页的apiready方法里面进行监听。

android通过appintent监听,详情见api文档

setListener(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

  • 内部字段:

{
    type:                //被点击的菜单的标识,字符串类型
    title:                //被点击的菜单标题,字符串类型
    subtitle:            //(可选项)被点击的菜单副标题,字符串类型
    userInfo:            //(可选项)自定义信息,JSON对象
}

示例代码

var DTouch = api.require('3DTouch');
DTouch.setListener(
    function(ret, err) {
        var type = ret.type;
        if (type == 'com.mycompany.myapp.openfavorites') {

        }
    }
);

可用性

iOS9及以上系统

可提供的1.0.0及更高版本

setShortcutItems

动态设置应用快捷菜单。

iOS如果在Info.plist里面配置了静态的应用快捷菜单,两者不会覆盖。

setShortcutItems({params})

params

items:

  • 类型:JSON数组
  • 默认值:无
  • 描述:应用快捷菜单配置项
  • 内部字段:
[{
    type:'',                //菜单项的标识,字符串类型
    title:'',                //菜单标题,字符串类型
    subtitle:'',            //(可选项)菜单子标题,字符串类型
    icon:{                    //(可选项)菜单图标,JSON对象
        file:'',            //(可选项)图标文件路径,需放置在widget目录下,如widget/image/icon1.png。图标必须是单色的png格式图片,尺寸建议为105*105,若配置了该字段将忽略type字段。字符串类型
        type:0                //(可选项)使用系统提供的图标,请参考常量里面的“应用快捷菜单图标类型”。数字类型(仅iOS)
    },
    userInfo:{                //(可选项)附加信息,JSON对象
        'key':'value'
    }
}]

示例代码

var DTouch = api.require('3DTouch');
DTouch.setShortcutItems({
    items: [{
        type: 'com.api.testapp.favorite',
        title: 'Favorites',
        icon: {
            file: 'widget/image/open-favorites'
        },
        userInfo: {
            'key1': 'value1'
        }
    }, {
        type: 'com.api.testapp.compose',
        title: 'New Message',
        icon: {
            type: 0
        },
        userInfo: {
            'key2': 'value2'
        }
    }]
});

可用性

iOS9及以上系统,android7.1以上

可提供的1.0.0及更高版本

updteShortcut

更新应用快捷菜单。

updteShortcut({params},function(ret))

params

items:

  • 类型:JSON数组
  • 默认值:无
  • 描述:应用快捷菜单配置项
  • 内部字段:
[{
    type:'',                //需要更新的菜单项的标识,字符串类型
    title:'',                //菜单标题,字符串类型
    subtitle:'',            //(可选项)菜单子标题,字符串类型
    icon:{                    //(可选项)菜单图标,JSON对象
        file:'',            //(可选项)图标文件路径,需放置在widget目录下,如widget/image/icon1.png。图标必须是单色的png格式图片,尺寸建议为105*105,若配置了该字段将忽略type字段。字符串类型
    },
    userInfo:{                //(可选项)附加信息,JSON对象
        'key':'value'
    }
}]

callback(ret, err)

ret:

  • 类型:JSON 对象

  • 内部字段:

{
    status:,    //布尔类型,是否设置成功
}

示例代码

var DTouch = api.require('3DTouch');
DTouch.updteShortcut({
    items: [{
        type: 'com.api.testapp.favorite',
        title: 'Favorites',
        icon: {
            file: 'widget/image/open-favorites'
        },
        userInfo: {
            'key1': 'value1'
        }
    }, {
        type: 'com.api.testapp.compose',
        title: 'New Message',
        icon: {
           file:'widget://image/myin.png'
        },
        userInfo: {
            'key2': 'value2'
        }
    }]
});

可用性

android7.1以上

可提供的1.0.0及更高版本

removeShortcut

删除应用快捷菜单。

removeShortcut({params},function(ret))

params

types:

  • 类型:JSON数组
  • 描述:需要删除的菜单项标识
  • 内部字段:
['',     //字符串类型需要删除的菜单项标识
]

callback(ret, err)

ret:

  • 类型:JSON 对象

  • 内部字段:

{
    status:,    //布尔类型,是否设置成功
}

示例代码

var DTouch = api.require('3DTouch');
DTouch.removeShortcut({
    types: ['']
});

可用性

android7.1以上

可提供的1.0.0及更高版本

应用快捷菜单图标类型

应用快捷菜单图标类型,数字类型(仅iOS)

取值范围

0            // compose
1            // play
2            // pause
3            // add
4            // location
5            // search
6            // share
7            // prohibit                iOS9.1及以后系统有效
8            // contact                iOS9.1及以后系统有效
9            // home                    iOS9.1及以后系统有效
10            // mark location         iOS9.1及以后系统有效
11            // favorite                iOS9.1及以后系统有效
12            // love                    iOS9.1及以后系统有效
13            // cloud                iOS9.1及以后系统有效
14            // invitation            iOS9.1及以后系统有效
15            // confirmation            iOS9.1及以后系统有效
16            // mail                    iOS9.1及以后系统有效
17            // message                iOS9.1及以后系统有效
18            // date                    iOS9.1及以后系统有效
19            // time                    iOS9.1及以后系统有效
20            // capture photo        iOS9.1及以后系统有效
21            // capture video        iOS9.1及以后系统有效
22            // task                    iOS9.1及以后系统有效
23            // task completed        iOS9.1及以后系统有效
24            // alarm                iOS9.1及以后系统有效
25            // bookmark                iOS9.1及以后系统有效
26            // shuffle                iOS9.1及以后系统有效
27            // audio                iOS9.1及以后系统有效
28            // update                iOS9.1及以后系统有效

可用性

iOS系统

可提供的1.0.0及更高版本