Android如何创建桌面快捷方式
作者:bjp000111 发布时间:2022-09-16 18:37:06
标签:Android,快捷方式
Android创建桌面的快捷方式
概述 :创建桌面快捷方式相当与创建一个程序的入口,就像我们程序在安装完毕后会自动创建一个图标到桌面。其实创建桌面快捷方式跟创建一个程序入口差不多,但是像QQ会话一样创建一个QQ好友的会话快捷方式,就得动态的创建图标,名字了。
1.首先权限是必不可少的
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
2.然后就是在你项目配置文件里面配置
<activity
android:name="com.easemob.chatuidemo.activity.ChatActivity" >
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.CREATE_SHORTCUT" />
</intent-filter>
</activity>
这个actvity即为你要快捷方式点击后跳转的那一个activity
3.然后就是你要创建快捷方式的方法。
代码如下:
public void CreateShotCut(final Context context, final Class<?> clazz,
final String name, final String image) {
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
// 加入action,和category之后,程序卸载的时候才会主动将该快捷方式也卸载
shortcutIntent.addCategory(Intent.CATEGORY_LAUNCHER);
shortcutIntent.setClass(context, clazz);
/**
* 创建一个Bundle对象让其保存将要传递的值
*/
Bundle bundle = new Bundle();
bundle.putString("userId", userId);
shortcutIntent.putExtras(bundle);
/**
* 设置这条属性,可以使点击快捷方式后关闭其他的任务栈的其他activity,然后创建指定的acticity
*/
shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
// 创建快捷方式的Intent
Intent shortcut = new Intent(Intent.ACTION_CREATE_SHORTCUT);
// 不允许重复创建
shortcut.putExtra("duplicate", false);
// 点击快捷图片,运行的程序主入口
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
// 需要现实的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, name);
// 快捷图片
Parcelable icon = Intent.ShortcutIconResource.fromContext(
getApplicationContext(), R.drawable.ic_launcher);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
shortcut.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(shortcut);
}
这行代码的重要性就在如果没有这一行,那么在你点击这个快捷方式,跳转的时候就会直接跳到这个应用的栈顶(如果指定的activity在栈顶,也不会跳转其上而是销毁)而不是指定的那一个Activity(刚开始没加这条属性的时候,一直跳转不到指定的activity上)。
shortcutIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
如果想要动态的添加图片即创建快捷方式的时候获取网路上的图片来进行设置其快捷图片则使用
// Intent.EXTRA_SHORTCUT_ICON 是bitmap对象
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON,bitmap);
这行代码,你可以请求网路图片后转换为BitMap后设置进去。
ok动态的创建快捷方式就这样完成了。


猜你喜欢
- 本文演示如何在Android中实现ListView圆角效果。无论是网站,还是APP,人们都爱看一些新颖的视图效果。直角看多了,就想看看圆角,
- 用过iphone的朋友相信都体验过页面上拉下拉有一个弹性的效果,使用起来用户体验很好;Android并没有给我们封装这样一个效果,我们来看下
- 从配置获取的配置默认是明文的,有些像数据源这样的配置需要加密的话,需要对配置中心进行加密处理。下面使用对称性加密来加密配置,需要配置一个密钥
- 前篇回顾:Spring源码解析容器初始化构造方法在上一篇文章中,我们介绍完了AnnotationConfigApplicationConte
- 看完本文你将了解:ACTION_CANCEL的触发时机滑出子View区域会发生什么?为什么不响应onClick()事件首先看一下官方的解释:
- 一个图片识别小工具,原先主要是识别以前公司的软件注册码截图里的数字和字母(每次要一个一个框复制出来粘贴到注册器里,很麻烦!),因为注册码出现
- 一、何为栈?栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称
- Struct的理论看过好一些,可是工作上基本没有应用过,Class倒处处都有。难道Struct就没有什么使用价值吗?搜了一下如何在类和结构中
- 这篇文章主要介绍了Spring如何使用注解的方式创建bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 私有构造函数私有构造函数是一种特殊的实例构造函数。它通常用在只包含静态成员的类中。如果类具有一个或多个私有构造函数而没有公共构造函数,则其他
- 封装:就是把一些属性和方法封装到一个类里。 继承:就如子类继承父类的一些属性和方法。 多态:就如一个父类有多个不同特色的子类。 这里我就不多
- 在Mms中每个Thread都有其相应的联系人,但是threads表中并没有直接保存联系人的信息(号码或名字),而是保存一个叫做recipie
- 当前使用的IDEA版本是2020.1。随着IDEA版本的升级,有些插件不再支持,而有些插件变成了收费插件,这些插件将不再推荐。以下列举的,都
- 一、环境说明集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面
- 在前面的文章中有介绍到我们在微信web开发过程中常常用到的 【微信JSSDK中Config配置】 ,但是我们在真正的使用中我们不仅仅只是为了
- 前言:java.util.Set接口和 java.util.List接口一样,同样继承自 Collection接口,它与
- 如论实施敏捷的团队,或者实施 DevOps 的团队,通过自动化测试提高测试效率和软件质量都是其共同的选择。UI 自动化测试是自动化化测试当中
- 第一次Eclipse配置Tomcat和JDK都会遇到一些问题,小编当时也一头雾水,所以特对此进行了总结,希望可以帮到大家。A:需要的软件及版
- 好几天没有跟进Spring MVC的学习了,之前看了点源码都忘的差不多了。这次就跟着之前的问题,继续总结下Spring MVC中的小知识。u
- 这篇文章主要介绍了Spring Cloud Sleuth整合zipkin过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一