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);
}
}

android 应用创建桌面快捷方式相关推荐

  1. [Android]为指定的应用创建桌面快捷方式

    网上一搜一大把为自己的应用创建快捷方式,但是本文的侧重点在为"指定的应用"创建桌面快捷方式.     常见的桌面快捷方式有两要素:1.应用名 2.应用图标. 指定应用图标的信息是: ...

  2. android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法

    Android的开发其实是比较灵活的,其实在安装了Android应用程序之后,会在桌面上自动创建快捷方式,接下来爱站技术频道小编将会介绍Android应用启动后自动创建桌面快捷方式的实现方法给大家,有 ...

  3. Android应用启动后自动创建桌面快捷方式

    为什么80%的码农都做不了架构师?>>>    和IOS开发和Windows Phone开发相比,Android是开放的,Android上的开发也相对更加灵活,能够做很多事情.有的朋 ...

  4. Android应用程序创建桌面快捷方式

    2019独角兽企业重金招聘Python工程师标准>>> public static final String READ_SETTINGS_PERMISSION = "com ...

  5. Android小技巧之创建桌面快捷方式(已适配8.0)

    前言 在某些情况下需要对应用创建桌面快捷方式,特别是在使用原生系统(4.3到8.0)运行物联网app时,往往存在二级菜单,而应用图标默认安装在二级菜单(现在国内主流手机厂商的系统都没有二级菜单了),如 ...

  6. android手机自动快捷方式,解析Android应用启动后自动创建桌面快捷方式的实现方法...

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

  7. Android 8.0 创建桌面快捷方式

    1. 前言:公司有个给app创建桌面快捷方式的功能.  有一天,测试来说,有款手机,点击快捷方式,无反应.  2.思考:大多数手机是好的,考虑是兼容性问题. 1)经查看,问题机是  华为mate9  ...

  8. 关于如何在启动时创建桌面快捷方式

    现在Android 手机系统一般是定制加原生,一般定制就只有一层桌面,而原始和有一些定制系统是抽屉式桌面,这样就有一个需求,在安装应用的时候,需要在桌面上创建一个快捷方式. 其实很简单 . 第一步在启 ...

  9. ubuntu clion 创建桌面快捷方式

    ubuntu clion 创建桌面快捷方式 首先在终端下输入 cd /usr/share/applications/ 进入applications目录下,建立一个clion.desktop文件 sud ...

最新文章

  1. 灰度直方图均衡化及其实现
  2. 常用的shell脚本
  3. 取消mysql自动备份文件_MySQL自动备份并清理多少天前的备份文件
  4. 线性一致性理解Linearizability
  5. java 杀掉 linux下进程和进程的子孙进程
  6. 飞秋的模拟实现代码,很好很山寨!
  7. GPB | 陈润生/何顺民团队发布新版SmProt数据库,提供小蛋白丰富、可靠的系统性注释...
  8. centos6.5+jexus5.6.3+mono 3.10实践,让asp.net在linux上飞一会儿
  9. 代码快速“检”“修”不是梦,阿里云MaxCompute Studio 2.9.0 新版本发布
  10. MySQL不同版本多实例部署——5.7和8.0
  11. Atitit 物联网体系图 感知层 条码:物联网的第一代身份证 65二维码 4 电子标签:物联网的第二代身份证 78 4 传感器:物联网的神经元 92 4 自动识别技术 光学字符识别技术
  12. Android模拟器读取GPS串口模拟器GPS数据
  13. 认知无线电网络中的频谱切换理论
  14. ios开发-教程选择
  15. 120xa变频器调试参数_图文并茂 | 西门子G120变频器的面板调试操作
  16. Labview八段数码管0—9数字显示
  17. Mac重启和关机没反应解决办法
  18. 进销存管理系统大全【70个进销存系统】
  19. TCP/IP协议卷一(一)
  20. E1000 与 VMXNET3的 区别

热门文章

  1. OpenCV-字典法实现数字识别(尺寸归一化+图像差值)
  2. 2021年河南省高考成绩啥时候查询,2021年河南高考成绩什么时候出来,今天几点钟出成绩可以查询...
  3. Oracle如何建立多库,基于Oracle多库查询方法(分享)
  4. char flag[20]c语言,C语言试卷
  5. webrtc java api_java – 使用WebSockets实现WebRTC信令
  6. android 相机和照片一起_Android相机开发(三): 实现拍照录像和查看
  7. python分析每月销售数据_利用Python进行某单品销售数据分析
  8. find函数常见错误_如何利用FIND找出你要的数据-EXCEL-开篇3-字符串函数系列-2
  9. VS2008下CEGUI 0.7.1的安装
  10. pytorch保留比较高的epoch的权重