Android 8.0 中用于添加快捷方式和小部件的新流程 API 允许应用开发者从应用内部添加快捷方式和小部件,而无需依赖小部件托盘。出于安全原因,它还弃用了添加快捷方式的旧方法(发送广播)。
启动器需要支持此新实现,以便应用开发者可以依靠系统来添加其快捷方式或小部件。
示例和源代码
文档可在各种系统类中找到。参考包括以下内容
- ShortcutManager.java
在标头中发布固定快捷方式部分。 - Intent.java
ACTION_CREATE_SHORTCUT 的 Javadoc。 - AppWidgetManager.java
requestPinAppWidget 的 Javadoc。
实现
设备实现者需要在其启动器中添加一个 Activity,其中包含 Intent 过滤器操作
android.content.pm.action.CONFIRM_PIN_SHORTCUT
android.content.pm.action.CONFIRM_PIN_APPWIDGET
有关更多详细信息,请参阅 API 文档。
此 Activity 应显示一个确认提示,询问用户是否添加 请求的小部件/快捷方式,并在接受后,在主屏幕上添加相应的小部件/快捷方式。
对于小部件,accept()
调用应包含新添加的小部件的小部件 ID。
实施系统界面
合作伙伴需要使用 Launcher3 实现 (packages/apps/Launcher3
) 作为参考来更新其启动器应用。
在 Android 开源项目 (AOSP) 中查找相关的 Launcher3 更改
- Change-Id: 8b2002e28072c52d78f6d052c6ff6da50a2d0324
- Change-Id: 278359539c02ca160caf1df54ce96053a2a2ef59
验证
要验证该功能,请尝试从 Chrome 或“联系人”应用添加快捷方式,并验证是否显示了正确的确认提示。接受后,图标应添加到主屏幕上,并且 Chrome 应显示成功 Toast 消息。