"android.shortcut.conversation" 在 shortcuts.xml 中意味着什么?

What "android.shortcut.conversation" means in shortcuts.xml?

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
  <shortcut
    android:shortcutId="compose"
    android:enabled="true"
    android:icon="@drawable/compose_icon"
    android:shortcutShortLabel="@string/compose_shortcut_short_label1"
    android:shortcutLongLabel="@string/compose_shortcut_long_label1"
    android:shortcutDisabledMessage="@string/compose_disabled_message1">
    <intent
      android:action="android.intent.action.VIEW"
      android:targetPackage="com.example.myapplication"
      android:targetClass="com.example.myapplication.ComposeActivity" />
    <!-- This -->
    <categories android:name="android.shortcut.conversation" />
  </shortcut>
</shortcuts>

还有哪些可用的值?我需要包括这个类别吗?如果我删除它怎么办?

我在官方文档中没有找到这个 - https://developer.android.com/guide/topics/ui/shortcuts.html

消息传递相关操作的快捷方式类别,例如聊天。

categories 标签用于为应用的快捷方式执行的操作类型提供分组。可用的组之一是 android.shortcut.conversation,如果您想添加聊天应用程序对话的快捷方式,则使用它。比如最近聊天头像的快捷方式。当您想提供上述快捷方式时,您只需要在 shortcuts.xml 中添加它。否则你不需要它。你可以删除它。 对于 API 级别 26 或更低级别,这是唯一可用的值。但是对于更高版本,有多个。

有关支持的快捷方式类别的列表,您可以查看 this 页面。

目前只有一种类型支持的类别是android.shortcut.conversation。您可以在 ShortcutInfo

中找到它
/**
 * Shortcut category for messaging related actions, such as chat.
 */
public static final String SHORTCUT_CATEGORY_CONVERSATION = "android.shortcut.conversation";

也在

/**
     * Sets categories for a shortcut.  Launcher apps may use this information to
     * categorize shortcuts.
     *
     * @see #SHORTCUT_CATEGORY_CONVERSATION
     * @see ShortcutInfo#getCategories()
     */
    @NonNull
    public Builder setCategories(Set<String> categories) {
        mCategories = categories;
        return this;
    }