`
ypf3027
  • 浏览: 303874 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android创建和删除桌面快捷方式

阅读更多

   

1, 创建 

/**
 * 为程序创建桌面快捷方式
 */
private void addShortcut(){
	Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
		
	//快捷方式的名称
	shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
	shortcut.putExtra("duplicate", false); //不允许重复创建
		
	//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
	//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
	ComponentName comp = new ComponentName(this.getPackageName(), "."+this.getLocalClassName());
	shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));

	//快捷方式的图标
	ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.icon);
	shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
		
	sendBroadcast(shortcut);
}

  

2, 删除

/**
 * 删除程序的快捷方式
 */
private void delShortcut(){
	Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
		
	//快捷方式的名称
	shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
		
	//指定当前的Activity为快捷方式启动的对象: 如 com.everest.video.VideoPlayer
	//注意: ComponentName的第二个参数必须是完整的类名(包名+类名),否则无法删除快捷方式
	String appClass = this.getPackageName() + "." +this.getLocalClassName();
	ComponentName comp = new ComponentName(this.getPackageName(), appClass);
	shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
		
	sendBroadcast(shortcut);
		
}

 

 

3, 声明权限

在AndroidManifest.xml 文件中声明 创建和删除快捷方式时声明权限

 

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

 

 

4
0
分享到:
评论
7 楼 1846396994 2012-04-27  
huangbq 写道
1846396994 写道
总结的关于添加和删除及判断是否存在快捷方式,Android应用添加(创建)和删除及判断是否存在桌面快捷方式

多谢回答,不过我有个疑问,现在市面的桌面非常的多,而每个桌面保存快捷方式缓存的数据库不尽相同(博客只给出Android自带桌面的标准数据库判断是否已经创建的快捷方式的方法),并且删掉快捷方式的方法不起作用;



那你只能一个个去测试了, 毕竟这些桌面都是私有,他们有没有提供api不一定。
6 楼 huangbq 2012-04-26  
1846396994 写道
总结的关于添加和删除及判断是否存在快捷方式,Android应用添加(创建)和删除及判断是否存在桌面快捷方式

多谢回答,不过我有个疑问,现在市面的桌面非常的多,而每个桌面保存快捷方式缓存的数据库不尽相同(博客只给出Android自带桌面的标准数据库判断是否已经创建的快捷方式的方法),并且删掉快捷方式的方法不起作用;
5 楼 huangbq 2012-04-26  
mermaid 写道
huangbq 写道
楼主,卸载程序的时候自动删除“程序的快捷方式 ”怎么实现,能不能提供一种可行方案?

卸载程序的时候不是自动删除快捷方式吗?系统自己处理的

有这样一个需求,就是应用更换了图标.当应用升级时我需要删掉原来就的快捷方式,创建新的,或者有没有什么广播告诉桌面我的快捷方式的图标改变,不知道你有没有好的思路;
4 楼 1846396994 2012-04-21  
总结的关于添加和删除及判断是否存在快捷方式,Android应用添加(创建)和删除及判断是否存在桌面快捷方式
3 楼 mermaid 2011-01-05  
huangbq 写道
楼主,卸载程序的时候自动删除“程序的快捷方式 ”怎么实现,能不能提供一种可行方案?

卸载程序的时候不是自动删除快捷方式吗?系统自己处理的
2 楼 huangbq 2010-12-21  
楼主,卸载程序的时候自动删除“程序的快捷方式 ”怎么实现,能不能提供一种可行方案?
1 楼 mapeijie888 2010-11-19  
实验环境 sdk2.2  创建 ok 删除失败

相关推荐

    Android 桌面快捷方式

    Android 桌面快捷方式: 创建和删除

    android桌面快捷方式

    判断快捷方式是否存在,创建和删除桌面快捷方式,支持android5.1以上版本

    Android例子源码为应用创建、删除桌面快捷方式

    本项目是一个在安卓手机桌面上创建和删除快捷方式的例子源码,在我的2.3.7摩托罗拉上测试的可以用,不过在红米上测试的不能用,可以是因为米柚对安卓原生修改的东西太多了吧,需要的朋友下载再自己研究下吧,更为...

    创建、删除桌面快捷方式

    创建、删除桌面快捷方式源码是一个在安卓手机桌面上创建和删除快捷方式的例子源码,在我的2.3.7摩托罗拉上测试的可以用,不过在红米上测试的不能用,可以是因为米柚对安卓原生修改的东西太多了吧,需要的朋友下载再...

    Android 创建/验证/删除桌面快捷方式(已测试可用)

    桌面快捷方式的出现方便了用户操作,在某些程度上提高了用户体验,接下来将介绍下Android创建/验证/删除桌面快捷方式的实现思路及代码,感兴趣的朋友可以了解下,或许本文可以帮助到你

    解析Android应用启动后自动创建桌面快捷方式的实现方法

    要不怎么说Android特别开放呢,在Android开发中,只要发送一个广播,就可以实现这种需求了。 废话不多说,以下是封装好的一段代码。 代码如下:public class ShortcutUtil { public static void createShortCut...

    android中自动在桌面创建快捷键,且不重复。

    1.解锁2次,第三次黑屏的时候在桌面上创建一个快捷方式。每一个小时删除快捷方式一次,并创建一次。 2.点击这个快捷方式,跳转到腾讯主页或者百度主页。跳转的时候传入今天日期参数,格式:2014-2-27 3.这个图片从...

    Android添加(创建)、删除及判断是否存在桌面快捷方式的方法

    本文实例讲述了Android添加(创建)、删除及判断是否存在桌面快捷方式的方法。分享给大家供大家参考。具体实现方法如下: /** * 判断桌面是否已添加快捷方式 * * @param cx * @param titleName * 快捷方式名称 * @...

    android创建快捷方式demo

    android中在桌面上创建快捷方式源码,删除快捷方式在某些机器上会不成功,因此最好只添加不删除

    Android快捷方式Demo

    Android 为应用创建、删除桌面快捷方式;请参考博客:http://blog.csdn.net/jjmm2009/article/details/37902949

    Android编程实现创建,删除,判断快捷方式的方法

    * 为程序创建桌面快捷方式 ,这样写,在程序卸载的时候,快捷方式也会一并删除 */ private void addShortcut() { Intent shortcutIntent = new Intent( com.android.launcher.action.INSTALL_SHORTCUT); // 快捷...

    Android中删除文件以及文件夹的命令记录

    记录一下命令: tools&gt;adb remount tools&gt;adb ... 您可能感兴趣的文章:android ListView内数据的动态添加与删除实例代码Android 创建/验证/删除桌面快捷方式(已测试可用)Android实现WebView删除缓存的方法Android Stu

    java_android_创建删除快捷图标工具类

    需要权限: com.android.launcher.permission.INSTALL_SHORTCUT 检测是否存在快捷键 为程序创建桌面快捷方式 删除程序的快捷方式

    疯狂Android讲义源码

     14.3 桌面快捷方式 532  14.3.1 在桌面上创建快捷方式 532  14.3.2 向Launcher添加快捷方式 534  14.4 管理桌面小控件 535  14.5 实时文件夹(LiveFolder) 539  14.5.1 使用实时文件夹显示  ...

    在Android平台下利用WiFi技术实现

    在Android手机桌面建立快捷方式,点击启动即可看到软件主界面。 在手机WiFi联网状态下,“开始”,运行网络共享服务点击时会显示“i青输入http://192.168.0.100:2112以上地址在浏览器进行访问”,字样下面会显示...

    疯狂Android讲义.part2

    14.3 桌面快捷方式 532 14.3.1 在桌面上创建快捷方式 532 14.3.2 向Launcher添加快捷方式 534 14.4 管理桌面小控件 535 14.5 实时文件夹(LiveFolder) 539 14.5.1 使用实时文件夹显示 ContentProvider的数据 540 ...

    疯狂Android讲义.part1

    14.3 桌面快捷方式 532 14.3.1 在桌面上创建快捷方式 532 14.3.2 向Launcher添加快捷方式 534 14.4 管理桌面小控件 535 14.5 实时文件夹(LiveFolder) 539 14.5.1 使用实时文件夹显示 ContentProvider的数据 540 ...

Global site tag (gtag.js) - Google Analytics