一,阐述
Shortcuts 功能跟随着 Android7.1 Nougat 一起诞生,
其主要目:在于用户可以定义一些常用的操作路径,以快捷方式的形式存在。
这些快捷方式展示在可以支持的设备上,帮助用户快速启动常用或者推荐的页面和行为。
二,展示方式
1,一种通过 长按 应用 icon,此时会弹出列表弹窗.(对于没有配置快捷方式的应用,一般都是手机厂商给的默认功能)
下图是没有配置shortcuts时的效果
2,另一种则以桌面快捷方式的形式存在,同一种行为可以存在多个相同的桌面快捷方式。
三,功能
每个快捷方式都可以携带一个或多个 intent,当用户点击快捷方式时,每个 intent 都会触发应用中对应的操作,参考例子:
美团: 跳转到订单页
飞猪: 跳转到机票页
四,快捷方式的类型
1,静态的快捷方式:
其直接会打包到 apk 或 apk bundle 中,安装完应用便存在快捷方式入口。 这种最适合那种在整个程序的生命周期中,意图不会改变,始完成整同一种行为。鉴于程序一般只能显示四个快捷方式,那静态的快捷方式一般对于那种比较常见的行为非常有用和有必要。
2,动态的快捷方式:
只有在应用运行时才会创建,可以随时的更新、添加和删除对应的快捷方式。这种一般对意图较为敏感的操作。意图可能在应用运行中发生改变,需要更新快捷方式。
3,桌面快捷方式:
必须在用户授权的情况下,可以主动的添加快捷方式到桌面,同样可以拷贝动态和静态的快捷方式到桌面。这种允许用户自定义跳转意图。
五,限制条件
虽然对于一个应用程序一般可以创建五个快捷方式,其中包括静态和动态的,但是但多数的设备上只能展示 4个。
六,静态快捷方式代码实现
1 ,在清单文件配置meta-data
2,在shortcuts.xml文件设置长按图标事件
android:shortcutId 唯一标识
android:enabled 快捷方式是否被禁用 true表示可以用
android:icon 快捷方式上显示的图片
android:shortcutLongLabel 快捷方式被禁用信息,尽可能控制在10个字符
android:shortcutLongLabel 快捷方式的长名称,优先使用长名称,尽可能控制在25个字符
android:action 固定的
android:targetPackage 项目的包名
android:targetClass 要跳转的页面全路劲
categories android:name 固定的