返回

Android 7.1快捷方式:代码中实现AppShortcuts

Android

Android 7.1引入了App Shortcuts,一种新的方式,可以从应用程序图标直接访问应用程序中的特定功能。App Shortcuts类似于iOS中的快捷方式,但它们更强大,因为它们可以从代码中动态创建。

静态与动态快捷方式

静态快捷方式是写在xml文件中,而动态快捷方式是在Java代码中编写.

静态快捷方式 的优点是它们可以在不需要代码更改的情况下轻松创建和更新。然而,它们也有局限性:它们不能根据用户使用应用程序的方式进行动态定制。

动态快捷方式 则可以根据用户使用应用程序的方式进行动态定制。例如,您可以创建一条快捷方式,可让用户直接跳转到他们最近查看的文章。

如何创建App Shortcuts

要在代码中创建App Shortcut,您可以使用ShortcutManager类。ShortcutManager类提供了以下方法:

  • addDynamicShortcut(ShortcutInfo shortcutInfo):添加一个新的动态快捷方式。
  • updateShortcuts(List<ShortcutInfo> shortcutInfoList):更新现有的快捷方式。
  • removeDynamicShortcuts(List<String> shortcutIds):删除动态快捷方式。
  • disableShortcuts(List<String> shortcutIds):禁用快捷方式。
  • enableShortcuts(List<String> shortcutIds):启用快捷方式。
  • getShortcuts(): 获取所有快捷方式。
  • getPinnedShortcuts():获取所有固定在主屏幕上的快捷方式。

App Shortcuts最佳实践

在创建App Shortcuts时,请遵循以下最佳实践:

  • 保持简洁: 快捷方式的标题和图标应简洁明了。
  • 提供有用的功能: 快捷方式应提供对应用程序中常用功能的访问。
  • 定期更新: 随着应用程序的发展,应定期更新快捷方式以反映新的功能。
  • 遵循Material Design准则: 快捷方式应遵循Material Design准则,以确保它们与其他Android应用程序的外观和感觉一致。

App Shortcuts示例

以下是一个使用ShortcutManager类创建动态App Shortcut的示例:

ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);

// 创建一个新的快捷方式
ShortcutInfo shortcutInfo = new ShortcutInfo.Builder(this, "uniqueId")
        .setShortLabel("Recent Articles")
        .setIcon(Icon.createWithResource(this, R.drawable.ic_recent_articles))
        .setIntents(Arrays.asList(new Intent(Intent.ACTION_VIEW, Uri.parse("recentArticles://"))))
        .build();

// 添加快捷方式
shortcutManager.addDynamicShortcut(shortcutInfo);

结论

App Shortcuts是Android 7.1中一项强大的新功能,可让您从应用程序图标直接访问应用程序中的特定功能。通过遵循最佳实践和使用ShortcutManager类,您可以创建有用的快捷方式,让您的应用程序对用户更加有用。