在Nova Launcher(以及许多其他自定义的)中,有一个手势配置,您可以在其中为手势分配各种动作.在这些操作中有一个快捷方式选项卡.如何在我自己的应用程序中添加可由启动器识别的快捷方式?(我想这是我必须添加到Manifest并设置Intent的东西)
编辑:这是一个指出这些行动的图像.
这些记录非常糟糕,不幸的是之前被称为"Launcher快捷方式",现在已经无名了.除了在Nova的手势菜单和类似之外,它们还显示在小部件抽屉中的小部件旁边.我认为是"小部件快捷方式".
官方文档似乎仅限于ApiDemos中的演示:https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/src/com/example/android/apis/app/LauncherShortcuts.java
我们的想法是在您的清单中处理android.intent.action.CREATE_SHORTCUT
并使用标签,图标和目标意图将结果返回给启动器.然后,启动器可以将其变为桌面上的图标,或者只是使用手势或其他任何内容.
在你的 AndroidManifest.xml
然后,当用户选择快捷方式时,启动器会执行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();