Android定义了可以在自定义启动器中使用的快捷方式



在Nova Launcher(以及许多其他自定义启动器)中,有一个手势配置,您可以在其中为手势分配各种动作。在这些操作中,有一个快捷方式选项卡。我如何在自己的应用程序中添加一个可以被启动器识别的快捷方式?(我想这是我必须添加到清单中并设置意向的东西)

编辑:这里有一张图片来指出这些动作。

这些文件记录得很差,不幸的是,以前被称为"启动器快捷方式",现在却没有名字。除了出现在Nova的手势菜单和类似菜单中,它们还显示在小部件抽屉中的小部件旁边。我认为这是"小部件快捷方式"。

官方文档似乎仅限于ApiDemos中的演示:https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src.com/example/android/api/app/LauncherShortcuts.java

其想法是,在清单中处理android.intent.action.CREATE_SHORTCUT,并将带有标签、图标和目标意图的结果返回给启动器。然后,启动器可以将其制作成桌面上的图标,也可以将其用于手势或其他用途。

在您的AndroidManifest.xml

<activity android:name=".CreateShortcut">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

然后,当用户选择快捷方式时,启动器会执行该活动的startActivityForResult,您可以立即执行finish并得到结果,也可以向用户显示一个UI,让他们配置快捷方式。无论哪种方式,当准备好时,将信息返回到启动器:

Intent result = new Intent();
result.putExtra(Intent.EXTRA_SHORTCUT_INTENT, targetIntent);
result.putExtra(Intent.EXTRA_SHORTCUT_NAME, targetLabel);
Parcelable iconResource = Intent.ShortcutIconResource.fromContext(
this,  R.drawable.ic_launcher_shortcut);
result.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);
setResult(RESULT_OK, result);
finish();

你指的是应用程序快捷方式吗?安卓开发人员指南中有一个非常全面的教程。

最新更新