小部件和快捷方式

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 更改

验证

要验证该功能,请尝试从 Chrome 或“联系人”应用添加快捷方式,并验证是否显示了正确的确认提示。接受后,图标应添加到主屏幕上,并且 Chrome 应显示成功 Toast 消息。