每个可以交互的应用,在项目清单文件中都有Launcher类,除了提示系统这个Activity是入口函数外,还会在应用列表中添加一个应用的快捷图
标。本文讲述Launcher通过自己注册的InstallShortCutReceiver和UnInstallShortCutReceiver实现
了快捷方式图标的生成与移除过程,分析外部apk实用Intent请求生成快捷方式和移除快捷方式图标的问题。
添加图标:
Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
// 是否可以有多个快捷方式的副本,参数如果是true就可以生成多个快捷方式,如果是false就不会重复添加
intent.putExtra("duplicate", false);
Intent intent2 = new Intent(Intent.ACTION_MAIN);
intent2.addCategory(Intent.CATEGORY_LAUNCHER);
// 删除的应用程序的ComponentName,即应用程序包名+activity的名字
intent2.setComponent(new ComponentName(this.getPackageName(), this.getPackageName() + ".Main"));
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent2);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this,
R.drawable.icon));
sendBroadcast(intent);
需要添加的权限:
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
删除图标:
Intent intent = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT" );
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
// 要删除的应用程序的ComponentName,即应用程序包名+activity的名字
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent()
.setComponent(new ComponentName(info.activityInfo.packageName,
info.activityInfo.name)).setAction("android.intent.action.MAIN"));
sendBroadcast(intent);
添加删除的权限:
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
分享到:
相关推荐
在Android系统中,添加桌面图标是一项常见的功能,它能让用户快速启动应用或执行特定操作。本文将详细解析如何通过源代码实现向Android设备添加桌面图标。 首先,我们需要了解Android的Intent系统,它是Android应用...
在Android和iOS操作系统中,隐藏应用的桌面图标和启动应用有特定的方法,这些方法涉及到系统权限和编程技术。以下是对这两个平台的详细说明: **Android系统:** 1. **隐藏桌面图标:** - **使用快捷方式:** ...
要实现多个桌面图标,我们需要在Manifest文件中为每个需要独立显示图标的Activity添加特定的标签。 1. **定义多个Activity**:为每个要显示为独立图标的Activity创建一个新的类,并在AndroidManifest.xml中声明。...
以下是一些关于Android应用源代码和桌面小程序开发的重要知识点: 1. **Android SDK**: 开发Android应用的基础是Android Software Development Kit (SDK),它包含了开发者需要的所有工具,包括编译器、模拟器、调试...
总之,添加和删除Android应用的桌面图标涉及到对Intent的正确使用,同时考虑到安全性和权限限制。在某些情况下,你可能需要采用间接的方式来达到目的,例如在应用启动时检查自身状态并提醒用户删除图标。在设计这样...
在Android系统中,Launcher3是默认的主屏幕和应用程序抽屉管理器,它负责显示和管理手机上的应用快捷方式和小部件。随着Android版本的更新,界面设计也在不断进化,9.0和10.0版本引入了圆角图标的设计趋势,以提供...
Hotseat(快捷方式栏)的图标会根据屏幕尺寸和设备方向自动调整大小和位置。 **4.5 最近任务扩展功能** 对最近使用的应用卡片进行客制化,如添加更多卡片、修改滑动行为等。 ### 5. **注意事项** 在进行Launcher...
Launcher是Android系统中负责管理桌面图标和应用启动的组件。开发者提取Launcher的数据库,通过对数据库的查询,找到被拖到桌面的快捷图标所对应的包名和类名。这些信息是每个应用程序在系统中的唯一标识,它们是...
总的来说,Android应用自动创建桌面快捷方式是通过发送一个特定的Broadcast Intent实现的,涉及到对`com.android.launcher.permission.INSTALL_SHORTCUT`权限的使用。同时,应考虑到用户体验,合理地控制创建快捷...
在Android应用开发中,有时我们可能需要实现一些特殊的功能,比如隐藏应用的主启动图标,使得用户在手机桌面看不到该应用的快捷方式,但依然可以通过其他应用或特定方式来启动它。这种技术常用于系统应用或者希望...
在Android系统中,桌面应用程序(Launcher)是用户与设备交互的主要入口,允许用户启动其他应用、管理快捷方式和小部件。"Android自定义桌面2.0"是一个项目,旨在提供一个更加个性化和功能丰富的桌面体验,它可能...
1. **通过应用抽屉**:当您安装一个新的应用后,Android系统通常会在桌面自动创建一个快捷方式。如果系统没有这样做,你可以打开应用抽屉,找到你需要的应用,长按应用图标,然后拖动到桌面。 2. **通过应用信息**...
在Android系统中,Widget是应用程序可以提供的一种桌面扩展功能,...理解并掌握Widget的开发技术,对于提升Android应用的互动性和实用性具有重要意义。通过深入研究和实践,你将能创建出更加丰富多彩和实用的桌面插件。
在Android应用开发中,图标是用户界面不可或缺的一部分,它们提供了视觉指示,帮助用户识别和操作应用中的各个元素。本资源“超多Android小图标”包含了丰富的图标集合,适合用于多种场景,如应用图标、菜单图标、...
在Android开发中,实现“类似于桌面切换的...通过以上步骤,开发者可以为Android应用构建出一个流畅、有弹性的滑动界面,提供类似Android桌面的用户体验。同时,不断优化动画性能和手势响应,将使应用更加吸引用户。
1. **Android组件**: Activity、Service、BroadcastReceiver和ContentProvider是Android应用的四大组件,其中Activity在Launcher中尤为重要。 2. **意图(Intent)**: Intent用于在组件之间传递消息,比如启动一个...
在Android应用开发中,图标是用户界面不可或缺的组成部分,它们为用户提供直观的视觉标识,帮助用户识别和理解应用的功能。本资源包含超过900个专门为Android开发设计的小图标素材,这些图标覆盖了多种风格、类型和...
- **智能排序**:根据用户的使用习惯自动调整应用图标顺序。 - **手势定制**:允许用户自定义手势操作,提高操作便捷性。 3. **适配不同设备**: - **屏幕尺寸适应**:确保Launcher能在不同尺寸的屏幕上正常显示...
在IT领域,用户界面(UI)的设计与个性化是用户体验的重要组成部分,而桌面图标作为UI的直观元素,其风格和个性化程度直接影响着用户对操作系统的第一印象。"X9桌面替换图标"是一个针对这一需求的解决方案,旨在为用户...