/**
     * 创建桌面快捷方式 一
     */
    private void addShortcutToDesktop(){
        Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
         // 不允许重建
         shortcut.putExtra("duplicate", false);
         // 设置名字
         shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,this.getString(R.string.app_name));
         // 设置图标
         shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(this,
                         R.drawable.ic_launcher));

// 设置意图和快捷方式关联程序
         shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,new Intent(this, this.getClass()).setAction(Intent.ACTION_MAIN));
         // 发送广播
         sendBroadcast(shortcut);
    }

/**

*方式二

*/

if (Intent.ACTION_CREATE_SHORTCUT.equals(action)) {

  Intent shortcut = new Intent(Intent.ACTION_CREATE_SHORTCUT);

// 不允许重建

shortcut.putExtra("duplicate", false);

// 设置名字

shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME,

this.getString(R.string.app_name));

// 设置图标

shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,

Intent.ShortcutIconResource.fromContext(this,

R.drawable.ic_launcher));

// 设置意图和快捷方式关联的程序

shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT,

new Intent(this, this.getClass()));

//将结果返回到launcher

setResult(RESULT_OK, intent);

}

需在xml中设置IntentFilter

<intent-filter>

  <action android:name="android.intent.action.CREATE_SHORTCUT" />

</intent-filter>

/**
     * 判断是否已创建快捷方式
     * @return
     */
    private boolean hasInstallShortcut() {

boolean hasInstall = false;
         final String AUTHORITY = "com.android.launcher.settings";
         Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
                + "/favorites?notify=true");
         Cursor cursor = this.getContentResolver().query(CONTENT_URI,     new String[] { "title", "iconResource" }, "title=?",
               new String[] { this.getString(R.string.app_name) }, null);
         if (cursor != null && cursor.getCount() > 0) {
             hasInstall = true;
         }
         return hasInstall;
     }

所需权限:

<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/><!-- 判断所需权限 -->
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/><!-- 创建快捷方式权限 -->

转载于:https://www.cnblogs.com/android-record2012/p/3539885.html

android 快捷方式代码片段随记相关推荐

  1. Android Studio 代码混淆(你真的会混淆吗)

    一.前言 今天要打包新产品,突然忘了混淆的参数是怎么写的了,虽然之前也混淆过,可是具体配置的参数代码有些记不起来了,因此决定花点时间写篇博客记录一下,方便以后查找和自己的记忆. 二.Android S ...

  2. java创建android快捷方式_Android 通过应用程序创建快捷方式

    Android 快捷方式是桌面最基本的组件.它用于直接启动某一应用程序的某个组件.       一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序 ...

  3. Android 快捷方式

    Android 快捷方式是桌面最基本的组件.它用于直接启动某一应用程序的某个组件. 一般情况下,可以在Launcher的应用程序列表上,通过长按某一个应用程序的图标在左面上创建改该应用程序的快捷方式. ...

  4. Android有用代码(二)

    文章转自:http://blog.csdn.net/aomandeshangxiao/article/details/7286354 记得2011年的时候,整理了android有用代码片段这篇文章,后 ...

  5. Android快捷方式

    Android快捷方式作为Android设备的杀手锏技能,一直都是非常重要的一个功能,也正是如此,各种流氓App也不断通过快捷方式霸占着这样一个用户入口. 同时,各大国产ROM和Luncher的崛起, ...

  6. android命令行工具 混淆,Android 混淆代码学习以及Android加密工具--APKProtect的使用ZZ...

    一:情景分析 有时候看到其他应用App的一些效果很炫,或者是功能实现很好就想着参考参考,于是乎,下载APK----反编译APK---查看源码....,但是悲剧来了....源码都是些a,b,c...等等 ...

  7. 黑客破译android开发代码真就那么容易?

    2019独角兽企业重金招聘Python工程师标准>>> 很多程序员辛辛苦苦开发出的android开发代码,很容易就被黑客翻译了. Google似乎也发现了这个问题,从SDK2.3开始 ...

  8. android 共享代码,Android团队成员间的代码共享!(Git+Github版)

    原创,转载请说明出处. 一. 这篇文章要解决什么问题,能学习到什么? 在android团队的开发中,少不了与队员之间的合作.为了避免我们傻瓜式地复制粘贴对方的负责的那部分功能代码,我们可以用svn或者 ...

  9. Android实用代码七段(五)

    1.展开.收起状态栏 public static final void collapseStatusBar(Context ctx) {         Object sbservice = ctx. ...

  10. Android实用代码(不定期更新)

    Android实用代码七段(一) 一抹火焰 整理(不定期更新) 前言 这里积累了一些不常见确又很实用的代码,每收集7条更新一次,希望能对大家有用. 声明: 欢迎转载,但请保留文章原始出处:)  博客园 ...

最新文章

  1. PICRUSt2软件
  2. mysql常用语句整理
  3. [codevs 1237] 餐巾计划问题
  4. 回顾 | 进击吧! Blazor !第三期 信息交互
  5. c语言格式字符If,C语言所有语句格式 C语言中的的if语句共有多少种格式?
  6. Java程序设计4——集合类
  7. python小练——下载指定url中的图片
  8. ios开发 方形到圆的动画_使用UIBezierPath画个圆动画
  9. 2010头号病毒追杀令——恶意下载者001
  10. C# 11 新增特性
  11. Linux中jemalloc的安装与使用
  12. Java: Hook技术
  13. MapReduce的核心资料索引
  14. easyui filebox+ajaxfileupload实现异步上传
  15. 计算机组成原理alu_b什么意思,计算机组成原理实验三多功能ALU设计实验(5页)-原创力文档...
  16. 陆奇与YC:两个中年人的患难与共
  17. 任正非演讲系列之——华为的冬天
  18. 黑马最新JavaWeb课程资料目录
  19. 波士顿房价的三种预测方式(模型预测,最小二乘法,多元线性回归)
  20. pyhanlp 繁简转换之拼音转换与字符正则化

热门文章

  1. opencv使用trackbar调控美颜程度
  2. 20170917软件工程师在线笔试之员工幸福感问题
  3. python实现常见的整数进制、字符进制、ASCII码进制之间的转换
  4. 【Tensorflow】图像的读取、解码、显示、处理、编码、保存
  5. 2021-06-28获取,更新,删除DOM节点
  6. android 多线程互斥,Android同步类:Mutex和Condition
  7. php网站程序更新功能,运用PHP定时自动更新网站首页HTML的方法
  8. BootStrapCSS样式和JS插件
  9. 西北农林科技大学计算机考研难吗,西北农林科技大学考研难吗?一般要什么水平才可以进入?...
  10. bo蓝牙耳机怎么连接_超简单!电脑连接蓝牙音箱,蓝牙耳机!