Android桌面长按图标快捷方式——Shortcuts

这篇具有很好参考价值的文章主要介绍了Android桌面长按图标快捷方式——Shortcuts。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

当我们在长按Android应用的桌面图标时,一般回弹出一个列表,上面一般有应用信息、卸载应用等功能,并且部分应用在这里还添加了自己的快捷方式,今天主要介绍如何添加自定义的快捷方式。

长按桌面显示的快捷方式在Android中叫Shortcut,它有两种创建方式,分为静态创建和动态创建,并且跟Widget一样,也有对应的管理类来进行管理。废话不多说,直接开始

静态创建

第一步

静态创建分两个步骤,第一个是在Manifest文件中指定快捷方式配置文件的位置,首先找到Launcher的activity标签,添加meta-data标签如下:

<activity
   android:name=".MainActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <meta-data
        android:name="android.app.shortcuts"
        android:resource="@xml/shortcuts" />
</activity>
第二步

在resources资源目录下创建xml文件夹,并在文件夹中创建名为shortcuts的xml文件,其中内容如下:我们创建了两个标签

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    <shortcut
        android:enabled="true"
        android:icon="@mipmap/ic_launcher_round"
        android:shortcutDisabledMessage="@string/disable_hint_message"
        android:shortcutId="shortcut1"
        android:shortcutLongLabel="@string/long_label_one"
        android:shortcutShortLabel="@string/short_label_one">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.helloworld.RecyclerViewTestActivity"
            android:targetPackage="com.example.helloworld">
            <extra
                android:name="key1"
                android:value="value1" />
        </intent>
    </shortcut>

    <shortcut
        android:enabled="true"
        android:icon="@mipmap/ic_launcher_round"
        android:shortcutDisabledMessage="@string/disable_hint_message"
        android:shortcutId="shortcut2"
        android:shortcutLongLabel="@string/long_label_two"
        android:shortcutShortLabel="@string/short_label_two">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.helloworld.TestViewPagerActivity"
            android:targetPackage="com.example.helloworld">
            <extra
                android:name="key2"
                android:value="value2" />
        </intent>
    </shortcut>
</shortcuts>
<string name="short_label_one">名称一</string>
<string name="short_label_two">名称二</string>
<string name="long_label_one">一个很长很长的长到你无法相信的名称一</string>
<string name="long_label_two">一个略长略长的长到你可以想象的名称二</string>
<string name="disable_hint_message">你确认要禁用该快捷方式吗?</string>
  • enabled 是否开启
  • icon 图标
  • shortcutDisabledMessage 关闭该快捷方式提示的信息
  • shortcutId 唯一标识
  • shortcutLongLabel 长标签,优先展示
  • shortcutShortLabel 短标签,长标签展示不下会展示短标签
  • intent 跳转至Activity的Intent
注意事项

通过xml创建的静态ShortCuts不可以通过代码动态修改与删除,只能通过xml去修改。

动态创建

使用ShortCuts相关的类以及方法即可快速实现动态快捷方式的添加、更改、删除等操作。

object ShortCutManager {

    fun createShortCuts(context: Context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
            ShortcutManagerCompat.removeAllDynamicShortcuts(context)
            val shortCut = ShortcutInfoCompat.Builder(context, "shortCutId")
                .setShortLabel("搜索一下")
                .setLongLabel("搜索一下下")
                .setIcon(IconCompat.createWithResource(context, R.mipmap.ic_launcher))
                .setIntent(Intent(context,MainActivity::class.java).apply {
                    action = Intent.ACTION_VIEW
                })
                .build()
            ShortcutManagerCompat.pushDynamicShortcut(context, shortCut)
        }
    }
}

再合适的地方调用上面的方法即可实现添加ShortCuts,在添加之前删除了所有的动态快捷方式,但是并不会删除通过xml配置的静态快捷方式。
Android桌面长按图标快捷方式——Shortcuts文章来源地址https://www.toymoban.com/news/detail-420990.html

到了这里,关于Android桌面长按图标快捷方式——Shortcuts的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 13 Launcher——长按图标弹窗背景变暗

    目录 一.背景 二.修改代码 客户定制需要长按图标弹窗让其背景变暗,所以需要进行定制,如下是定制流程,本篇是接上篇https://gonglipeng.blog.csdn.net/article/details/132171100 的内容 主要代码逻辑在ArrowPopup中的reorderAndShow方法和closeComplete方法中,其中reorderAndShow方法是为了让其显示

    2024年02月13日
    浏览(57)
  • Android 13 Launcher——长按图标弹窗内容修改以及小组件等隐藏起来

    目录 一.背景 二.实现思路 三.布局文件修改 四.隐藏代码中原先的view 由于定制化开发需要将原先的长按图标原生弹窗界面隐藏,然后显示自定义的弹

    2024年02月13日
    浏览(91)
  • Jmeter快捷方式和应用图标设置

    很多人在安装Jmeter,安装到本机却没有icon,每次使用的时候,每次打开应用都要找目录,不太方便。 【解决问题】 使用bin路径下的一个.bat文件,创建快捷方式。 【操作步骤】 Step1、将Jmeter 安装bin路径下的jmeter.bat 发送快捷方式到桌面。 Step2、将右侧 \\\".icon\\\"格式图片保存到本

    2024年02月13日
    浏览(37)
  • Ubuntu创建桌面快捷方式

    本文介绍如何在Ubuntu系统中创建桌面快捷方式。 操作系统:Ubuntu 22.04 LTS 之前用习惯了Windows操作系统,Windows下创建快捷方式相对容易,右键点击一个文件——创建快捷方式就可以。 现在做项目需要用Linux系统(Ubuntu),每次运行软件时在终端里输入命令感觉太麻烦,于是学

    2024年02月11日
    浏览(41)
  • android 12.0Launcher3长按拖拽时,获取当前是哪一屏,获取当前多少个应用图标

    在12.0定制化开发手机项目中,如果专门适配老年机的时候,这时客户提出要求,如果最后一屏未满时,不让拖拽到后面一屏的空屏中这样就需要获取当前是哪一屏,并且要知道当前有多少个Item,总共一屏最多多少个item 所以就需要从Workspace.java入手,来分析解决这个问题 首选

    2024年02月06日
    浏览(60)
  • Windows11去掉桌面快捷方式箭头

    有部分强迫症用户,看到桌面每个图标都有一个小箭头,只想去掉看着舒服一点 但是Win10的大部分脚本都不能使用了,而且有可能导致桌面图标显示异常,不建议大家再去用脚本尝试(Win11也有脚本,但是随便更新版本,不少脚本都失效了)。 于是有了下面这个修改注册表实现

    2024年02月02日
    浏览(40)
  • 【Ubuntu】postman安装、创建桌面快捷方式

    Postman下载地址 进入软件包所在的目录,利用 tar 命令解压到指定目录 完成解压之后,添加软链接(第一个路径是软件所在的目录路径,第二个路径是引用的路径) 添加桌面图标 1.进入/usr/share/applications目录 2.新建postman.desktop文本 3.使用vim打开文本 4.切入编辑模式, 在文本粘贴

    2024年02月11日
    浏览(51)
  • 【Windows】创建Windows远程桌面快捷方式

    windows系统自带了远程连接工具,可以实现局域网内的远程控制,参考: 【Windows】局域网内远程桌面控制 https://blog.csdn.net/jn10010537/article/details/130926888 但是windows自带的远程连接一次只能连接一个,即被一个用户控制,后续参与进来的用户会挤掉前面的远程控制。 其他的AnyV

    2024年02月10日
    浏览(45)
  • 前端如何实现一个网站的桌面快捷方式

    题记:我们工作中常常需要在我们的网站首页实现一个桌面快捷方式,那么我们怎么做呢? 图片展示:  代码实现:         第一步:获取路径与标题名;                  第二步:判断是否为IE浏览器; 注释:使用ActivexObject 区分IE浏览器与非IE浏览器            I

    2024年02月14日
    浏览(40)
  • Ubuntu系统为程序创建桌面快捷方式

    为了不用每次都要进入命令行启动应用程序,为程序创建快捷方式是一个很方便的方法,尤其是你的程序需要在团队外部使用的时候。 桌面创建快捷方式一般使用.desktop为后缀的文件实现,该文件的内容格式基本要素如下: 当然,除了以上基本要素之外,还有更丰富的其他元

    2024年02月16日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包