`
ypf3027
  • 浏览: 306528 次
  • 性别: 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应用是否已创建桌面快捷方式以及如何创建快捷方式。 首先,我们需要理解Android...

    Android 桌面快捷方式

    **二、删除桌面快捷方式** 删除Android桌面快捷方式非常简单: 1. **直接移除**:只需长按快捷方式,然后将其拖动到屏幕顶部的“删除”区域或者按住不放直到出现一个垃圾桶图标,松手即可。 2. **通过应用信息**...

    android桌面快捷方式

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

    android程序卸载后无法删除桌面快捷方式的解决办法

    ### Android程序卸载后无法删除桌面快捷方式的解决办法 在Android开发过程中,经常会遇到一些棘手的问题,比如用户在卸载应用时,桌面上的应用快捷方式却未能被一同删除,这不仅影响用户体验,也可能导致用户对应用...

    android 生成和删除快捷方式

    通过创建桌面快捷方式,用户可以一键启动应用内的某个页面或者执行特定操作,极大地提升了用户体验。本篇将详细介绍如何在Android中生成和删除快捷方式。 生成Android快捷方式主要涉及到`ShortcutManager`类,这是...

    android 快捷方式的权限判断。

    为了确保应用能够正常创建和使用快捷方式,开发者需要对这些设备进行特定的权限检查。本篇文章将详细介绍如何在Android中进行快捷方式权限的判断,并针对华为、小米、OPPO、vivo等主流品牌提供相应的判断策略。 ...

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

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

    android系统判断快捷方式是否存在、添加删除快捷方式

    在Android开发中,为应用程序创建桌面快捷方式是一项常见的需求。这不仅可以提升用户体验,还能让用户更方便地访问应用。本文将详细介绍如何在Android系统中判断快捷方式是否存在、如何添加及删除快捷方式。 #### ...

    Android高级应用源码-创建桌面快捷方式源代码.zip

    这份“Android高级应用源码-创建桌面快捷方式源代码.zip”包含了一个实例,演示了如何在Android系统上创建桌面快捷方式。下面我们将详细探讨这个过程涉及的技术点。 首先,我们要理解Android的快捷方式接口。...

    创建桌面快捷方式源代码(android)

    在Android应用开发中,创建桌面快捷...总的来说,通过学习这个源码,开发者可以了解Android创建桌面快捷方式的实现细节,提升应用的用户体验,并且可以借鉴`Deskfast`类中的逻辑,以更优雅地管理应用的桌面快捷方式。

    android 创建应用快捷方式

    在API 25(Android Nougat)及以上版本,我们可以使用`ShortcutManager`类来创建、更新和管理应用快捷方式。 二、使用`ShortcutManager` 1. 添加权限:首先,在AndroidManifest.xml文件中添加以下权限: ```xml ...

    发送桌面快捷方式

    在Android操作系统中,"发送桌面快捷方式"是一个常见的功能,允许用户将应用程序、联系人、网页等快速添加到主屏幕,以便一键访问。这个过程涉及到Android的Intent机制、BroadcastReceiver和快捷方式服务。下面我们...

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

    总的来说,Android应用自动创建桌面快捷方式是通过发送一个特定的Broadcast Intent实现的,涉及到对`com.android.launcher.permission.INSTALL_SHORTCUT`权限的使用。同时,应考虑到用户体验,合理地控制创建快捷...

    创建、删除桌面快捷方式

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

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

    在Android平台上,为应用程序创建、验证和删除桌面快捷方式是一种常见的功能,它可以提供用户更便捷的访问途径。本文将详细讲解如何实现这一功能,并提供已测试可用的代码示例。 首先,为了能够在Android设备上创建...

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

    删除桌面快捷方式需要发送一个Broadcast,其中Intent的Action设置为`com.android.launcher.action.UNINSTALL_SHORTCUT`。`delShortcut`方法中,首先获取应用名称,然后创建一个新的Intent,设置Extra字段,其中`...

    android shortcut桌面快捷方式demo

    自Android Nougat (API 25)开始,引入了Dynamic Shortcuts,允许开发者动态创建和更新快捷方式。在Android Oreo (API 26)中,进一步引入了Static Shortcuts,提供了一种预定义快捷方式的方式。这两种方法可以单独...

    安卓Launcher桌面相关-android生成桌面快捷方式shortcutdemo.rar

    总结,这个"android生成桌面快捷方式shortcut demo"示例帮助开发者理解如何在Android应用中创建和管理桌面快捷方式,提高用户体验。由于代码可能需要根据具体情况进行调整,开发者需要对Android开发有基本的了解,并...

    Android中实现Launcher功能之添加快捷方式

    在Android系统中,Launcher是用户界面的核心组成部分,它允许用户启动应用程序、管理桌面快捷方式以及自定义主屏幕布局。本文将深入探讨如何在Android中实现Launcher功能,特别是添加快捷方式的部分。 首先,我们...

Global site tag (gtag.js) - Google Analytics