Android编程实现创建,删除,判断快捷方式的方法

发布时间 - 2026-01-10 23:15:59    点击率:

本文实例讲述了Android编程实现创建,删除,判断快捷方式的方法。分享给大家供大家参考,具体如下:

/**
* 为程序创建桌面快捷方式 ,这样写,在程序卸载的时候,快捷方式也会一并删除
*/
private void addShortcut() {
    Intent shortcutIntent = new Intent(
        "com.android.launcher.action.INSTALL_SHORTCUT");
    // 快捷方式的名称
    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME,
        getString(R.string.app_name));
    shortcutIntent.putExtra("duplicate", false); // 不允许重复创建
    /*
     * shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(
     * getApplicationContext(), SplashActivity.class));
     */
    // 注意: ComponentName的第二个参数必须加上点号(.),否则快捷方式无法启动相应程序
    ComponentName comp = new ComponentName(this.getPackageName(),
        this.getPackageName() + "." + this.getLocalClassName());
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setAction("android.intent.action.MAIN");
    intent.addCategory("android.intent.category.LAUNCHER");
    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT,
        intent.setComponent(comp));
    // 快捷方式的图标
    ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(
        this, R.drawable.icon_launcher);
    shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
    sendBroadcast(shortcutIntent);
}
//判断是否已经创建快捷方式
private boolean hasShortcut() {
    boolean isInstallShortcut = false;
    final ContentResolver resolver = this.getContentResolver();
    final String AUTHORITY;
    if (android.os.Build.VERSION.SDK_INT < 8) {
      AUTHORITY = "com.android.launcher.settings";
    } else {
      AUTHORITY = "com.android.launcher2.settings";
    }
    final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
        + "/favorites?notify=true");
    Cursor c = resolver
        .query(CONTENT_URI,
            new String[] { "title", "iconResource" },
            "title=?",
            new String[] { this.getString(R.string.app_name).trim() },
            null);
    if (c != null && c.getCount() > 0) {
      isInstallShortcut = true;
    }
    return isInstallShortcut;
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


# Android  # 创建  # 删除  # 判断  # 快捷方式  # Android编程创建桌面快捷方式的常用方法小结【2种方法】  # Android应用创建桌面快捷方式代码  # Android如何创建桌面快捷方式  # Android应用创建多个快捷方式  # 浅谈Android添加快捷方式ShortCut  # 进阶  # 也会  # 相关内容  # 感兴趣  # 第二个  # 给大家  # 更多关于  # 解决方法  # 所述  # 程序设计  # 判断是否  # 无法启动  # 操作技巧  # 讲述了  # getApplicationContext  # EXTRA_SHORTCUT_INTENT  # ComponentName  # SplashActivity  # false 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: EditPlus中的正则表达式 实战(4)  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  香港服务器租用费用高吗?如何避免常见误区?  php结合redis实现高并发下的抢购、秒杀功能的实例  Python3.6正式版新特性预览  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel如何实现文件上传和存储?(本地与S3配置)  如何快速搭建自助建站会员专属系统?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  教学论文网站制作软件有哪些,写论文用什么软件 ?  Laravel如何处理文件下载请求?(Response示例)  JavaScript实现Fly Bird小游戏  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  使用豆包 AI 辅助进行简单网页 HTML 结构设计  如何在Tomcat中配置并部署网站项目?  教你用AI将一段旋律扩展成一首完整的曲子  Internet Explorer官网直接进入 IE浏览器在线体验版网址  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  独立制作一个网站多少钱,建立网站需要花多少钱?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  北京网站制作公司哪家好一点,北京租房网站有哪些?  北京企业网站设计制作公司,北京铁路集团官方网站?  JS经典正则表达式笔试题汇总  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  JavaScript如何操作视频_媒体API怎么控制播放  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  桂林网站制作公司有哪些,桂林马拉松怎么报名?  详解Huffman编码算法之Java实现  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  香港服务器如何优化才能显著提升网站加载速度?  如何用PHP快速搭建CMS系统?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  如何快速搭建高效香港服务器网站?  如何快速搭建个人网站并优化SEO?  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  Laravel如何使用.env文件管理环境变量?(最佳实践)  怎样使用JSON进行数据交换_它有什么限制  Python制作简易注册登录系统  JavaScript模板引擎Template.js使用详解  JS弹性运动实现方法分析  如何破解联通资金短缺导致的基站建设难题?