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

其实很简单 。

第一步在启动页面的activity 添加该方法

    private void createShortcut() {Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));shortcut.putExtra("duplicate", false);//设置是否重复创建Intent intent = new Intent(Intent.ACTION_MAIN);intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setClass(this, BlankActivity.class);//设置第一个页面shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher);shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);sendBroadcast(shortcut);}
这个是创建桌面快捷方式的方法
第二步 是在onCreate方法里面使用这个方法,使用之前判断桌面是否是存在了快捷方式这就需要用到如下方法。
<pre name="code" class="html">    // 判断是否已经存在快捷方式public boolean isExistShortCut() {boolean isInstallShortcut = false;final ContentResolver cr = this.getContentResolver();// 2.2系统是”com.android.launcher2.settings”,网上见其他的为"com.android.launcher.settings"String authority="com.android.launcher2.settings";int sdkInt = android.os.Build.VERSION.SDK_INT;if (sdkInt < 8) { // Android 2.1.x(API 7)以及以下的                authority = "com.android.launcher.settings";} else if (sdkInt < 19) {// Android 4.4以下                authority = "com.android.launcher2.settings";} else {// 4.4以及以上 authority = "com.android.launcher3.settings"; }
//        final String AUTHORITY = "com.android.launcher2.settings";final Uri CONTENT_URI = Uri.parse("content://" + authority + "/favorites?notify=true");Cursor c = cr.query(CONTENT_URI, new String[] { "title", "iconResource" }, "title=?", new String[] { getString(R.string.app_name) }, null);if (c != null && c.getCount() > 0) {isInstallShortcut = true;System.out.println("--已经存在快捷方式");}if(c!=null && !c.isClosed()) c.close();return isInstallShortcut;}

如果就这的话,启动的时候会退出应用,最后还应该加上相应的权限。我把所有的权限都给贴出来,适用于不同的手机。

    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/><uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/><uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS"/><uses-permission android:name="com.android.launcher2.permission.READ_SETTINGS"/><uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.htc.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.qihoo360.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lge.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="net.qihoo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adwfreak.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.READ_SETTINGS"/>
<uses-permission android:name="org.adw.launcher_donut.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher3.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.fede.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.READ_SETTINGS"/>
<uses-permission android:name="com.sec.android.app.twlauncher.settings.WRITE_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.anddoes.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.tencent.qqlauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.launcher2.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.android.mylauncher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.ebproductions.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.oppo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.lenovo.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.READ_SETTINGS"/>
<uses-permission android:name="telecom.mdesk.permission.WRITE_SETTINGS"/>
<uses-permission android:name="dianxin.permission.ACCESS_LAUNCHER_DATA"/>

关于如何在启动时创建桌面快捷方式相关推荐

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

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

  2. NSIS制作卸载器时注意事项和如何创建桌面快捷方式

    1.制作卸载器时,注意检查是否打包的软件正在运行 如果用NSIS打包安装的软件正在运行,会影响我们的卸载.操作系统会阻止我们删除正在运行软件的相关库,这样打不到我们需要卸载的目的. 所以我们要把打包安 ...

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

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

  4. 好压 自解压文件解压完成后创建桌面快捷方式并启动

    首先右键点击想要压缩的目标文件夹,右键点击"添加到压缩文件",在弹出的窗口中选择7z格式,然后勾选创建自解压格式,然后点击自解压选项. 进入自解压选项后,点击解压标签,在解压后运行 ...

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

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

  6. 如何在Ubuntu上创建桌面快捷方式

    Desktop icons should be simple, but they're not on Ubuntu 18.04 LTS and newer releases like Ubuntu 1 ...

  7. jmeter + java jdk 的下载+安装+环境配置+如何创建桌面快捷方式羽毛图标

    思路:jmeter是基于java环境的,所以在学习jmeter之前要下载java jdk和添加jdk环境变量,接下来再下载jmeter和添加jmeter环境变量,最后创建桌面快捷方式,成功打开jmet ...

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

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

  9. 解决Inno Setup制作安装包无法创建桌面快捷方式的问题

    昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用,但是由于我下载的中文汉化版,根据向导一步步来就是不创建桌面 ...

最新文章

  1. 赠书 | 在Python领域,你与专家之间的距离只差这两本书
  2. RAID-5 恢复技术
  3. python编写一个软件-python写一个随机点名软件的实例
  4. iOS开发使用半透明模糊效果方法整理
  5. shell特殊符号cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号下
  6. 北京迎“豪宅元年”:四环房价将迈入8万元时代
  7. 计算机管理将c盘分区,硬盘分区图文教程:新买的电脑只有一个C盘 如何再分区?...
  8. java map的理解_java中的hashmap理解
  9. lucene 搜索学习笔记 - OK
  10. Arduino U8glib库中的中文字体
  11. macOS升级到Big Sur之后Goland提示找不到svn命令
  12. psp模拟java_PSP超强JAVA模拟器 PSPKVM v0.5 发布下载
  13. android 手机开门,智灵开门(智灵开门app)V5.0.2 安卓版
  14. beyong Compare4解决30天的评估期结束
  15. 2016年中国前1000名公众号最新报价
  16. 2020有道翻译 使用付费api
  17. Window.clearTimeout() 方法取消由 setTimeout() 方法设置的 timeout
  18. Linux 里的 exFAT 是微软的“特洛伊木马”
  19. 数据结构与算法(七)—— 散列表结构及其实现和应用
  20. 利用unicode字符rlo

热门文章

  1. 如何为Mac任意命令设置快捷键?
  2. Windows中睡眠和休眠的区别
  3. 聊聊接口设计的36个小技巧
  4. 苏州百度爱采购排名优化推广@运营猫工具箱
  5. 举例说明SQL中 in和exists的区别
  6. html怎样显示农历,Excel表格如何显示农历日期?
  7. jpcsp java_【图片】【求助】安装java出现问题,运行jpcsp出现同样问题(看过置顶)【psp模拟器吧】_百度贴吧...
  8. zcmu 1376 天天跑酷
  9. echarts使用:X轴不从0开始
  10. [阅读技巧] 快速阅读入门