【问题标题】:Android define shortcut that can be used in custom launcherAndroid定义可在自定义启动器中使用的快捷方式
【发布时间】:2017-01-11 13:51:14
【问题描述】:

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

编辑:这是一个image 来指出这些操作。

【问题讨论】:

    标签: android


    【解决方案1】:

    这些文档的记录很差,不幸的是以前被称为“启动器快捷方式”,现在已经无名了。除了出现在 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

    <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();
    

    【讨论】:

    【解决方案2】:

    你指的是App Shortcuts吗? Android 开发者指南对它们有相当详尽的教程。

    【讨论】:

    • 不,不是他们。这是一个(相当老的)image,出现在谷歌图片上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2016-11-17
    相关资源
    最近更新 更多