您的位置:首页 > 移动开发 > Android开发

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

2017-03-10 16:02 519 查看

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

思路:

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

效果:



步骤:

创建快捷方式必须要有权限;
创建快捷方式的广播的 Intent 的 action 设置 com.android.launcher.action.INSTALL_SHORTCUT
删除快捷方式的广播的 Intent 的 action 设置 com.android.launcher.action.UNINSTALL_SHORTCUT
设置快捷方式的图片和名称等信息放在 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