Android 添加、移除和判断 桌面快捷方式图标

思路:

  Launcher为了应用程序能够定制自己的快捷图标,就注册了一个 BroadcastReceiver 专门接收其他应用程序发来的快捷图标定制信息。所以只需要根据该 BroadcastReceiver 构造出相对应的Intent并装入我们的定制信息,最后调用 sendBroadcast 方法就可以创建一个快捷图标了。

效果:

步骤:

  1. 创建快捷方式必须要有权限;
  2. 创建快捷方式的广播的 Intent 的 action 设置 com.android.launcher.action.INSTALL_SHORTCUT
  3. 删除快捷方式的广播的 Intent 的 action 设置 com.android.launcher.action.UNINSTALL_SHORTCUT
  4. 设置快捷方式的图片和名称等信息放在 Intent 中;

  需要添加的权限如下:

   <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/><uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/><uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>

  核心代码为:

/**
 * 添加当前应用的桌面快捷方式
 *
 * @param context
 */
public static void addShortcut(Context context, int appIcon, String title) {Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");

    Intent shortcutIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    // 快捷方式名称
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
    // 不允许重复创建(不一定有效)
    shortcut.putExtra("duplicate", false);
    // 快捷方式的图标
    Parcelable iconResource = Intent.ShortcutIconResource.fromContext(context,
            appIcon);
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);

    context.sendBroadcast(shortcut);
}

移除

/**
 * 删除当前应用的桌面快捷方式
 * !!!小米系统暂时没有效果!!!
 *
 * @param context
 */
public static void delShortcut(Context context, String title) {Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
    // 快捷方式名称
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
    Intent shortcutIntent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
    shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
    context.sendBroadcast(shortcut);
}

************** 分享技术知识,分享快乐喜悦*******************
好文要顶 关注我 收藏该文

AnglusWang
关注 - 6
粉丝 - 1

+加关注

0
0

«上一篇: 似曾相识的 RecyclerView
»下一篇: RecyclerView 下拉刷新上拉加载

posted @ 2016-07-23 10:36 AnglusWang 阅读( 789) 评论( 0) 编辑 收藏

刷新评论 刷新页面 返回顶部
注册用户登录后才能发表评论,请 登录 或 注册, 访问网站首页。
【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【集赞】参与H3BPM 朋友圈集赞活动,豪礼任性选
【推荐】Google+GitHub联手打造前端工程师课程
最新IT新闻:
· 罗永浩的心酸创业史:写“段子”是因为没钱没资源
· 花旗看好互联网板块 力荐Facebook等5支网络股
· 欠联通超亿元巨款到期 分享通信发展陷“停滞”
· 小米6、魅族PRO 7、OPPO Find 9,上半年的国产新机全在这
· 三星微软苹果Linux基金会紧急应对维基解密曝光漏洞
» 更多新闻...
最新知识库文章:

· 垃圾回收原来是这么回事
· 「代码家」的学习过程和学习经验分享
· 写给未来的程序媛
· 高质量的工程代码为什么难写
· 循序渐进地代码重构

» 更多知识库文章...

Android 添加、移除桌面快捷方式图标相关推荐

  1. win7任务栏计算机怎么显示桌面,在win7任务栏添加一个显示桌面的图标按钮的方法...

    如何在win7任务栏添加一个显示桌面的图标按钮?一般情况下,win7系统桌面任务栏没有显示桌面图标按钮的,至少我用过的win7系统都没有此图标.win7任务没有这个图标按钮,主要是为了美化桌面.这时候 ...

  2. android 11 移除桌面搜索栏

    android 11 移除桌面搜索栏 桌面搜素栏属于桌面小组件wiget,简称QSB,默认在桌面launcher3初始化时加载,去掉的方法直接在launcer3中添加逻辑,在初始化时不加载视图,修改点 ...

  3. vb.net下,生成icon图标文件,图像格式为bmp,可用作windows应用的桌面快捷方式图标

    一.icon文件格式的简单介绍 windows的图标文件,其格式为ico. windows的.net编程,自带Icon函数,可以利用Icon.Save来保存icon文件,其中稍微要注意的就是,icon ...

  4. 桌面计算机怎么覆盖文件,win7系统桌面快捷方式图标被未知文件覆盖如何解决...

    win7系统纯净版开机发现桌面桌面快捷方式图标被未知文件覆盖了,但是运行起来一切正常,到底是什么原因呢?主要原因是由于操作系统中图标缓存满了,所桌面图标快捷图标被未知文件覆盖了.大家不必紧张,按照下面 ...

  5. windows桌面快捷方式图标上面怎么老是会产生一个问号解决方案

    桌面快捷方式图标上面怎么老是会产生一个问号(获取帮助符号)? 新建一txt文件,如:a.txt, 复制该代码: for /r . %%a in (.) do @if exist "%%a\. ...

  6. C#项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标

    #项目打包后安装的桌面快捷方式图标怎么设置成自己想要的图标 2012-08-25 09:11匿名 | 浏览 3286 次 C#编程 C#项目用vs2005自带的工具打包后安装的桌面快捷方式图标怎么设置 ...

  7. win10桌面计算机快捷没了,Win10桌面快捷方式图标消失了的解决方法介绍

    不少使用windows10系统的朋友都反映,自己的电脑在运行一段时间后,桌面上的快捷方式图标突然全都不见了,这该怎么办呢?桌面快捷方式不见会带来很多不便之处.下面,小编就为大家介绍win10系统恢复桌 ...

  8. w10桌面计算机图标箭头去除,Win10怎么去除桌面快捷方式图标左下角的小箭头

    默认情况下,Windows 7.Windows 8.Windows 8.1.Windows 10桌面上的快捷方式图标的左下角都带有一个小箭头,看起来很不爽,那么Win10怎么去除桌面快捷方式图标左下角 ...

  9. 一步搞定WIN10桌面快捷方式图标显示小白块如何去除

    WIN10桌面快捷方式图标显示小白块如何去除 1.问题描述,桌面图标显示如下图. 2.打开软件进行设置,一步搞定.  软件下载链接见文章末尾 软件下载链接: (30条消息) Dism一步搞定WIN10 ...

最新文章

  1. 重新定义 AI 服务器架构
  2. 《逻辑与计算机设计基础(原书第5版)》——1.2 计算机系统设计的抽象层次...
  3. Monitorix下个版本可能支持postgresql
  4. 【已解决】javaweb新建jsp文件报错
  5. mysql创建主键索引的关键字使用_mysql字段、主键、索引等的创建与修改命令
  6. 【树链剖分】洛谷树(P3401)
  7. zigbee是什么,为什么说它最适合智能家居设备
  8. 使用工具类实现通用分页处理
  9. 40-10-010-运维-kafka-2.11-基本操作
  10. textarea 文本框 实现右下角展现 动态字数
  11. Postman 设置token为全局变量
  12. Win10提示“为了对电脑进行保护,已经阻止此应用”如何解决
  13. 第二次作业:微博案例分析
  14. Unity3D | FPS游戏_敌人相关
  15. 数字逻辑educoder实训项目 logisim实现 交通灯系统设计
  16. Spring Kafka 之 @KafkaListener 单条或批量处理消息
  17. 【有奖调研】| 参与区块链调研,赢千元大奖!
  18. 谢文的yiqi有戏没?
  19. 南邮-NCTF2022 WRITE UP
  20. python元组 tup

热门文章

  1. “互联网+教育”三大发展趋势
  2. Python多种方法生成菲波那切数列
  3. IF分支结构(如何判断是否为整数)
  4. 一看就懂:时间复杂度与空间复杂度
  5. 关于参数thresh的理解(pd.dropna(thresh=n))
  6. 双11,超现实的电商马拉松
  7. WOW.js – 让页面滚动更有趣
  8. flex实现上中下布局
  9. 智络软件测试自学,济源市-济水一中
  10. python导入requests报错_import requests报错