App Shortcut功能
最近手机在升级Android 7.1之后,长按某些APP图标就会弹出菜单,类似于IOS的3D touch功能,如下图:
看了系统更新的文档才知道该功能叫做App Shortcut,目前只有少部分的应用支持这个功能,之后随着Android版本的更新,将会有大批APP适配该功能。那我们就来看一下该功能是如何实现的:
实现App Shortcuts有两种形式:
- 动态形式:在运行时,通过ShortcutManager API来进行注册。通过这种方式,你可以在运行时,动态的发布,更新和删除Shortcut。
- 静态形式:在APK中包含一个资源文件来描述Shortcut。这种注册方法将导致:如果你要更新Shortcut,你必须更新整个应用程序
目前,每个应用最多可以注册5个Shortcuts,无论是动态形式还是静态形式。
动态形式
通过动态形式注册的Shortcut,通常是特定的与用户使用上下文相关的一些动作。这些动作在用户的使用过程中,可能会发生变化。
ShortcutManager提供了API来动态管理Shortcut,包括:
新建:方法setDynamicShortcuts() 可以添加或替换所有的shortcut;方法addDynamicShortcuts() 来添加新的shortcut到列表中,超过最大个数会报异常
更新:方法updateShortcuts(List shortcutInfoList) 更新已有的动态快捷方式;
删除:方法removeDynamicShortcuts(List shortcutIds) 根据动态快捷方式的ID,删除已有的动态快捷方式;方法removeAllDynamicShortcuts() 删除掉app中所有的动态快捷方式;
下面是一段代码示例:
ShortcutManager shortcutManager