关于如何在启动时创建桌面快捷方式
现在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"/>
关于如何在启动时创建桌面快捷方式相关推荐
- android自动创建桌面,Android应用启动后自动创建桌面快捷方式的实现方法
Android的开发其实是比较灵活的,其实在安装了Android应用程序之后,会在桌面上自动创建快捷方式,接下来爱站技术频道小编将会介绍Android应用启动后自动创建桌面快捷方式的实现方法给大家,有 ...
- NSIS制作卸载器时注意事项和如何创建桌面快捷方式
1.制作卸载器时,注意检查是否打包的软件正在运行 如果用NSIS打包安装的软件正在运行,会影响我们的卸载.操作系统会阻止我们删除正在运行软件的相关库,这样打不到我们需要卸载的目的. 所以我们要把打包安 ...
- Android应用启动后自动创建桌面快捷方式
为什么80%的码农都做不了架构师?>>> 和IOS开发和Windows Phone开发相比,Android是开放的,Android上的开发也相对更加灵活,能够做很多事情.有的朋 ...
- 好压 自解压文件解压完成后创建桌面快捷方式并启动
首先右键点击想要压缩的目标文件夹,右键点击"添加到压缩文件",在弹出的窗口中选择7z格式,然后勾选创建自解压格式,然后点击自解压选项. 进入自解压选项后,点击解压标签,在解压后运行 ...
- android手机自动快捷方式,解析Android应用启动后自动创建桌面快捷方式的实现方法...
要不怎么说Android特别开放呢,在Android开发中,只要发送一个广播,就可以实现这种需求了. 废话不多说,以下是封装好的一段代码. public class ShortcutUtil { pu ...
- 如何在Ubuntu上创建桌面快捷方式
Desktop icons should be simple, but they're not on Ubuntu 18.04 LTS and newer releases like Ubuntu 1 ...
- jmeter + java jdk 的下载+安装+环境配置+如何创建桌面快捷方式羽毛图标
思路:jmeter是基于java环境的,所以在学习jmeter之前要下载java jdk和添加jdk环境变量,接下来再下载jmeter和添加jmeter环境变量,最后创建桌面快捷方式,成功打开jmet ...
- Android小技巧之创建桌面快捷方式(已适配8.0)
前言 在某些情况下需要对应用创建桌面快捷方式,特别是在使用原生系统(4.3到8.0)运行物联网app时,往往存在二级菜单,而应用图标默认安装在二级菜单(现在国内主流手机厂商的系统都没有二级菜单了),如 ...
- 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
昨天想把个java程序做成exe安装软件,然后就去下载了Inno Setup这个软件安装包制作软件,Inno Setup这个软件确实非常好用,但是由于我下载的中文汉化版,根据向导一步步来就是不创建桌面 ...
最新文章
- 赠书 | 在Python领域,你与专家之间的距离只差这两本书
- RAID-5 恢复技术
- python编写一个软件-python写一个随机点名软件的实例
- iOS开发使用半透明模糊效果方法整理
- shell特殊符号cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号下
- 北京迎“豪宅元年”:四环房价将迈入8万元时代
- 计算机管理将c盘分区,硬盘分区图文教程:新买的电脑只有一个C盘 如何再分区?...
- java map的理解_java中的hashmap理解
- lucene 搜索学习笔记 - OK
- Arduino U8glib库中的中文字体
- macOS升级到Big Sur之后Goland提示找不到svn命令
- psp模拟java_PSP超强JAVA模拟器 PSPKVM v0.5 发布下载
- android 手机开门,智灵开门(智灵开门app)V5.0.2 安卓版
- beyong Compare4解决30天的评估期结束
- 2016年中国前1000名公众号最新报价
- 2020有道翻译 使用付费api
- Window.clearTimeout() 方法取消由 setTimeout() 方法设置的 timeout
- Linux 里的 exFAT 是微软的“特洛伊木马”
- 数据结构与算法(七)—— 散列表结构及其实现和应用
- 利用unicode字符rlo