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

时间:2018-03-19 14:58:46

标签: android android-shortcut

<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

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

此时只有一种类型支持的类别为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;
    }

答案 2 :(得分:0)

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