一种Android应用的桌面图标隐藏方法

news2024/11/23 21:25:54

在Android10之前,应用程序通过调用PackageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP)函数来实现图标隐藏。

但是在android10之后,所有带四大组件(activity service broadcast contentprovider)和需要声明申请权限的应用,调用这个函数将失去效果,经过测试效果如下:

  1. 若activity的icon和roundIcon这两者都不是黑色,则调用后显示实际的像素值。
  2. 如果activity的icon和roundIcon同时设置为黑色,调用后,icon不显示,roundIcon显示系统默认的空白背景图标。

网上一种方式是,设置activity的label为空字符串“”,icon和roundIcon像素值为0的黑色图标。该方案链接如下:
Android10.0应用图标隐藏方案(7.0-10.0)

上面链接中,icon和roundIcon的图标文件如下:
在这里插入图片描述

上文中,theme字段透明的设置:
在这里插入图片描述

通过实际测试,这种方法的隐藏效果是有重大缺陷的,在调用开始的隐藏函数后,桌面上的图标虽然抹去了,但留下了一个图标大小的阴影,并不是文中所说的完全看不到(作者源码我在android12上亲自测试过),这时候点击虽然没有效果,但是视觉上的缺陷是不能容忍的。

通过实际测试,我发现有一种隐藏图标的方式,其实现步骤如下:

  1. 设置主activity的intent-filter字段,其格式必须满足如下两点,一是在启动节点的activity中,除却"android.intent.action.MAIN"和"android.intent.category.LAUNCHER"外,还要添加别的条目,比如android.intent.action.VIEW,目的就是打乱应用程序启动节点的默认设置,使之含有别的行为和动作,不能正常显示图标。

在这里插入图片描述

  1. 使用Android scheme方式从浏览器启动(或者另外再安装一个程序,当作此程序的启动器)。要注意的是,浏览器scheme启动方式不是说的从客户端,我原先以为,在客户端的浏览器中输入形如myscheme://myhost这样的url会触发程序的启动,但是反复测试是在没有效果,于是便想到,会不会这种scheme方式,说的是访问服务器的页面,页面中有个形如 “<a href=“myscheme://myhost”>点击此处启动Android程序</a>” 的标签,客户端浏览器中点击后,即可启动客户端本地的Android组件。

经过测试,发现上述方法是完全可行的,也基本达到了预期目的。

测试源码地址如下,各位看官只需要揣摩一下AndroidManifest.xml文件中的Application节区即可。
源码地址

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

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

相关文章

RabbitMQ养成记 (6. spingboot 集成 rabbitMQ,生产者/消费者)

Springboot集成 搞springboot的那群人 不喜欢造轮子&#xff0c;就喜欢搞各种集成。 首先创建一个springboot项目&#xff1a; 之前我们在方法中 创建工厂类配置&#xff0c; 现在直接在application.yml 中配置即可&#xff1a; spring:rabbitmq:host: **********username:…

赢得浮生半日闲,内卷时代,我们需要怎样的智能科技?

哲学家罗泰戈拉说&#xff1a;“人是万物的尺度&#xff0c;是存在的事物存在的尺度。” 智能电器&#xff0c;究竟能为用户和市场提供什么样的价值&#xff1f;凭什么让消费者买单&#xff1f;毫无疑问&#xff0c;也应该以“人”为标尺。 今天&#xff0c;忙碌似乎成了现代人…

特征选择与特征提取

目录 一、 特征选择1、特征2、特征选择3、扩展——特征选择算法(有兴趣和精力可了解)拓展--完全搜索:拓展--启发式搜索:拓展--随机搜索:拓展--遗传算法: 二、 特征提取三、特征提取主要方法——PCA(主成分分析)1、PCA算法是如何实现的&#xff1f;PCA--零均值化&#xff08;中心…

Redis 概述

1. NoSQL 数据库简介 技术发展: 技术的分类 1、解决功能性的问题&#xff1a; Java、 Jsp、 RDBMS、 Tomcat、 HTML、 Linux、 JDBC、 SVN2、解决扩展性的问题&#xff1a; Struts、 Spring、 SpringMVC、 Hibernate、 Mybatis3、解决性能的问题&#xff1a; NoSQL、 Java 线…

从神经递质到网络:利用分子信息功能成像超越组织层级

导读 人脑在微观、介观和宏观尺度的组织原则上表现出复杂的相互作用。最近的协同多模态方法已经开始将微观尺度信息与系统水平的动力学联系起来&#xff0c;超越了组织层级&#xff0c;并为大脑的功能和功能障碍提供了新的视角。具体来说&#xff0c;可以将微观尺度特性&#…

HMI 自动生成技术讨论(1)

HMI 的信息模型 HMI 给人的基本印象就是一个设备控制面板&#xff0c;或者是控制室里电脑屏幕的图形控制界面。进入信息化时代&#xff0c;HMI 的需求越来越大&#xff0c;不仅仅是操作工人和运维人员需要HMI&#xff0c;集团公司&#xff0c;工厂&#xff0c;车间的管理人员&…

芯片封装技术(四)

集成电路芯片与封装之间是不可分割的整体。没有一个芯片可以不用封装就能正常工作&#xff0c;封装对芯片来说是必不可少的&#xff0c;随着IC生产技术的进步&#xff0c;封装技术也不断更新换代&#xff0c;每一代IC都与新一代的IC封装技术紧密相连。 一、什么是封装&#xf…

Qt文件系统源码分析—第二篇QFileInfo

深度 本文主要分析Windows平台&#xff0c;Mac、Linux暂不涉及 本文只分析到Win32 API/Windows Com组件/STL库函数层次&#xff0c;再下层代码不做探究 本文QT版本5.15.2 类关系图 QTemporaryFile继承QFile QFile、QSaveFile继承QFileDevice QFileDevice继承QIODevice Q…

考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化

目录 1 主要内容 2 部分程序 3 程序结果 4 程序链接 1 主要内容 “双碳”背景下&#xff0c;为提高能源利用率&#xff0c;优化设备的运行灵活性&#xff0c;进一步降低综合能源系统&#xff08;IES&#xff09;的碳排放水平&#xff0c;提出一种IES低碳经济运行策略。首先…

【牛客刷题】笔试选择题整理(day1-day2)

每天都在进步呀 文章目录 1. 小数求模运算2. 进程的分区&#xff0c;这里说的不是JVM的分区。进程中&#xff0c;方法存放在方法区。3. 访问权限控制4. 继承与多态5. 与equals()6. 类加载顺序7. super()与this()7.1 super7.1.1 super调用父类构造方法7.1.2 super调用父类属性和…

Jabil EDI项目开源介绍

近期为了帮助广大用户更好地使用EDI系统&#xff0c;我们根据以往的项目实施经验&#xff0c;将成熟的EDI项目进行开源。用户安装好知行之桥EDI系统之后&#xff0c;只需要下载我们整理好的示例代码&#xff0c;并放置在知行之桥指定的工作区中&#xff0c;即可开始使用。 今天…

低代码工具库IRenderer『即可体验』上线了

在经历一段时间的折腾后&#xff0c;IRenderer迎来了一次版本更新&#xff0c;除了修复若干bug、优化编辑器性能外&#xff0c;在官网也添加了playground『即刻体验』入口。让您可以在线感受IRenderer可以提供的便利。 官网(github.io打开速度较慢&#xff0c;请稍等忍耐)地址…

SpringBoot——配置文件的分类

简单介绍&#xff1a; 在之前我们写配置文件的时候&#xff0c;我们直接在项目中的resources下面编写的配置文件&#xff0c;其实除了在这个路径下编写配置文件&#xff0c;还可以在其他的地方编写配置文件&#xff0c;并且不同位置的配置文件在启动的时候的优先级也是不一样的…

Srping注解之@Async:SpringBoot 实现异步调用

目录 1&#xff1a;前言 2&#xff1a;如何创建线程池 3&#xff1a;自定义线程池 1&#xff1a;前言 在日常开发过程中&#xff0c;会遇到一些需求是和主业务逻辑低耦合的&#xff0c;不要求和主业务逻辑同步进行&#xff0c;比如记录日志信息、发送消息通知电子邮件、生成…

Elasticsearch:使用 count API 来获得所有文档的个数

在我开始使用 Elasticsearch 的时候&#xff0c;我希望获得给定查询的文档总数。比如我们想对数据进行分页显示。从 Elasticsearch 7.0之后&#xff0c;为了提高搜索的性能&#xff0c;在 hits 字段中返回的文档数有时不是最精确的数值。Elasticsearch 限制了最多的数值为10000…

【开发者指南】如何在MyEclipse中编辑HTML或JSP文件?(一)

MyEclipse v2022.1.0正式版下载 如果您有HTML或JSP文件要编辑&#xff0c;这里将介绍如何编辑。查找以下信息&#xff1a; 编辑源代码大纲和属性视图参数页面 该功能在MyEclipse中是可用的。 一、HTML / JSP编辑器 要编辑HTML或JSP文件&#xff0c;请执行以下操作当中的一…

IPWorks BLE 2022 .NET Edition 22.0.8 Crack

IPWorks BLE 2022 .NET是一个蓝牙低功耗组件库&#xff0c;提供对 BLE 操作的直接访问。IPWorks BLE 组件提供简单的服务发现和对支持 BLE 的设备的访问。 蓝牙库 低功耗蓝牙组件 IPWorks BLE 包括一组功能强大的组件&#xff0c;用于将低功耗蓝牙通信功能集成到 Web、桌面和移…

Liunx 套接字编程(1)UDP协议的操作且实现一个UDP通信客户端

1.套接字编程 主要讲解的就是如何编写一个网络通信程序 1.网络通信的数据中都会包含一个完整的五元组: sip,sport,dip,dport,protocol(源端IP&#xff0c;源端端口&#xff0c;对端IP&#xff0c;对端端口&#xff0c;协议) 五元组完整的描述了数据从哪来&#xff0c;到哪去&am…

平抑风电波动的电-氢混合储能容量优化配置(matlab代码)

目录 1 主要内容 2 部分程序 3 程序结果 4 程序链接 1 主要内容 该程序部分复现电机文章《平抑风电波动的电-氢混合储能容量优化配置》&#xff0c;针对电-氢混合系统协同平抑接入新型电力系统的新能源波动问题&#xff0c;提出考虑碱性电解槽运行特性的电-氢混合储能容量…

D. Array Restoration(st表 O(1)查询区间最值)

Problem - D - Codeforces 给定一个由n个整数组成的初始数组a&#xff0c;位置从1到n编号。 对该数组执行q次查询&#xff0c;每次查询选择一个区间[li, ri]&#xff08;1≤li≤ri≤n&#xff09;&#xff0c;并将该区间内所有元素的值都改为i。查询的顺序不能更改&#xff0c…