Android应用创建桌面快捷方式代码
作者:帝都春哥 发布时间:2022-03-03 00:51:44
标签:Android,快捷方式
android的快捷方式比较简单,就是发一个系统的广播,然后为快捷方式设置Intent---
package com.xikang.android.slimcoach.utils;
/**
* @author huiych
* 创建快捷方式
* @created 2013-02-21
* */
import android.content.Intent;
import android.os.Parcelable;
import com.xikang.android.slimcoach.AppXiKang;
import com.xikang.android.slimcoach.R;
import com.xikang.android.slimcoach.ui.AppStart;
public class ShortCutUtil {
public static void initShortCut(){
Intent addShortCut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//不能重复创建快捷方式
addShortCut.putExtra("duplicate", false);
String title = AppXiKang.getApp().getString(R.string.app_name);//名称
Parcelable icon = Intent.ShortcutIconResource.fromContext(AppXiKang.getApp(), R.drawable.icon);//图标
//点击快捷方式后操作Intent,快捷方式建立后,再次启动该程序
Intent intent = new Intent(AppXiKang.getApp(), AppStart.class);
//设置快捷方式的标题
addShortCut.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
//设置快捷方式的图标
addShortCut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon);
//设置快捷方式对应的Intent
addShortCut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
//发送广播添加快捷方式
AppXiKang.getApp().sendBroadcast(addShortCut);
}
}
AppXiKange.getApp(),是获取Activity对象。
注意,要在清单文件中设置权限
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
这样在希望增加快捷方式的时候,就可以给用户一个alertdialog,提示,然后引用。就可以了。
市场上也有很多应用是在应用安装的时候直接创建快捷方式。不过这样的实现不是很友好。不建议使用。
下面上个完整的代码演示,使用的方法和上面的稍有不同:
public class ShortCutUtil {
public static void initShortCut(Activity acti){
Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
//快捷方式的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, AppXiKang.getApp().getString(R.string.app_name));
shortcut.putExtra("duplicate", false); //不允许重复创建
//指定当前的Activity为快捷方式启动的对象: 如
//com.everest.video.VideoPlayer
//注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
ComponentName comp = new ComponentName(AppXiKang.getApp().getPackageName(), "."+acti.getLocalClassName());
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
//快捷方式的图标
ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(AppXiKang.getApp(), R.drawable.icon);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
AppXiKang.getApp().sendBroadcast(shortcut);
}
public static void delShortcut(Activity acti){
Intent shortcut = new Intent("com.android.launcher.action.UNINSTALL_SHORTCUT");
//快捷方式的名称
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, AppXiKang.getApp().getString(R.string.app_name));
String appClass = AppXiKang.getApp().getPackageName() + "." +acti.getLocalClassName();
ComponentName comp = new ComponentName(AppXiKang.getApp().getPackageName(), appClass);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(Intent.ACTION_MAIN).setComponent(comp));
AppXiKang.getApp().sendBroadcast(shortcut);
}
}


猜你喜欢
- 事务挂起和事务恢复源码解读在学习spring事务的时候,一定会涉及到一个概念,无法避免的,就是事务挂起和事务恢复对于事务挂起和事务恢复,可以
- spring FactoryBean 是创建 复杂的bean,一般的bean 直接用xml配置即可,如果一个bean的创建过程中
- 目录Java 的Stream流一、定义二、操作的特征三、代码示例1、生成流2、forEach 迭代3、limit方法用于获取指定数量的流4、
- 前言这几天听朋友说JPA很好用,根本不用写sql。我在想一个程序员不写sql还能叫程序员?而且越高级的工具封装越多的工具,可拓展性和效率就非
- 前言Java的StringUtil.isEmpty(str)和"".equals(str)都是用来判断字符串是否为空的方
- 前言:在 Java 语言中,并发编程都是依靠线程池完成的,而线程池的创建方式又有很多,但从大的分类来说,线程池的创建总共分为两大类:手动方式
- IDEA安装后,前进 后退快捷按钮默认不在工具栏显示,需要手动将其添加到工具栏*按照图一选中Toolbar Run Actions ,点击右
- 我们首先看下BASEJDBC的写法实例:package com.dao;import java.sql.Connection;import
- .NET 4.0中新增了一个System.Runtime.Caching的名字空间,它提供了一系列可扩展的Cache框架,本文就简单的介绍一
- 前言app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下
- 本文实例讲述了Android DatePicker和DatePickerDialog基本用法。分享给大家供大家参考,具体如下:DatePic
- 前言倒计时功能在游戏中一直很重要, 不管是活动开放时间,还是技能冷却。 本文实现了一个通用倒计时组件,实现了倒计时的基本功能,支持倒计时结束
- 这篇文章主要介绍了简单了解Java多态向上转型相关原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- Java中字符串中子串的查找共有四种方法(indexof()) indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始
- 一般使用@RequestBody接收的时候报400都是传入的json字符串和对应封装的对象不对应造成的首先要注意封装的对象中的字段类型有没有
- 上篇文章给大家介绍了springboot对接第三方微信授权及获取用户的头像和昵称等等1 账户注销1.1 在SecurityConfig中加入
- 发现问题在C#连接SQL Server时,明明添加了引用using System.Data.SqlClient;却出现了下面这种情况:原因:
- 1. this 引用1.1 为什么要有this引用先来写一个日期类的例子:public class classCode { &
- 1.首先,八种基本数据类型分别是:int、short、float、double、long、boolean、byte、char; &
- 现在项目中有使用到音视频相关技术,在参考了网上各种大牛的资料及根据自己项目实际情况(兼容安卓6.0以上版本动态权限管理等),把声音录制及播放