Android 如何隐藏应用程序的图标

Android应用之【隐藏桌面图标的一种方法】 通过实际测试,这种方法的隐藏效果是有缺陷的,表现就是,桌面上的图标不显示后,留下了一个图标背景的阴影,虽然点击并没有效果,但是视觉上是不能容忍的。网上一种方式是,通过设置activity的label为空字符串“”,icon和roundIcon设置为像素值为0的黑色图标。 阅读详情
如果你的应用需要隐藏图标,那么这篇文章接下来的段落对你可能有所帮助。

 

在找到本文之前,你也许已经尝试过诸如以下的解决方案:

1,AndroidManifest.xml文件中在入口Activity的intent-filter里去掉<category android:name=”android.intent.category.LAUNCHER” />,或者将LAUNCHER改为DEFAULT

2,在程序中加入下面的代码

显示图片:

<ol class="linenums"><li class="L0"><span class="typ">PackageManager</span><span class="pln"> p </span><span class="pun">=</span><span class="pln"> getPackageManager</span><span class="pun">();</span><span class="pln"></span>
</li><li class="L1"><span class="pln">p</span><span class="pun">.</span><span class="pln">setComponentEnabledSetting</span><span class="pun">(</span><span class="pln">getComponentName</span><span class="pun">(),</span><span class="pln"> </span><span class="typ">PackageManager</span><span class="pun">.</span><span class="pln">COMPONENT_ENABLED_STATE_ENABLED</span><span class="pun">,</span><span class="pln"> </span><span class="typ">PackageManager</span><span class="pun">.</span><span class="pln">DONT_KILL_APP</span><span class="pun">);</span></li></ol>

隐藏图标:

<ol class="linenums"><li class="L0"><span class="typ">PackageManager</span><span class="pln"> p </span><span class="pun">=</span><span class="pln"> getPackageManager</span><span class="pun">();</span><span class="pln"></span>
</li><li class="L1"><span class="pln">p</span><span class="pun">.</span><span class="pln">setComponentEnabledSetting</span><span class="pun">(</span><span class="pln">getComponentName</span><span class="pun">(),</span><span class="pln"> </span><span class="typ">PackageManager</span><span class="pun">.</span><span class="pln">COMPONENT_ENABLED_STATE_DISABLED</span><span class="pun">,</span><span class="pln"> </span><span class="typ">PackageManager</span><span class="pun">.</span><span class="pln">DONT_KILL_APP</span><span class="pun">);</span></li></ol>

PackageManager.COMPONENT_ENABLED_STATE_ENABLED //显示应用图标

PackageManager.COMPONENT_ENABLED_STATE_DISABLED //隐藏应用图标

我用这俩个值来显示和隐藏应用图标有问题,隐藏以后就无法在显示应用图标了,在设置里的所有应用里也找不到了;

PackageManager.COMPONENT_ENABLED_STATE_DEFAULT //显示应用图标

PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER  // 隐藏应用图标

将参数值该成这两个值就没有问题了,建议使用这两个值,

3,去掉android:icon=”@drawable/ic_launcher”中的资源啊,等等等等。。。

但是试过了每一种方法之后你都发现起到了作用但是却产生了其他的问题

这里先一个一个的解释下,

如果去掉<category android:name=”android.intent.category.LAUNCHER” />,就表示app没有启动入口了,这样子确实是解决了不显示图标的效果,但是那样的话我们的应用也运行不了了。头疼~~~

第二种 ,我们来看看android developer 上的说明:

public static final int COMPONENT_ENABLED_STATE_DISABLED

Flag for setApplicationEnabledSetting(String, int, int) and setComponentEnabledSetting(ComponentName, int, int): This component or application has been explicitly disabled, regardless of what it has specified in its manifest.

意思是,即使你在manifest中声明了这个component或application,当你设置为COMPONENT_ENABLED_STATE_DISABLED时,他们都是不可用的。也就是说,如果你在MainActivity中这样设置了,那么应用图标不会显示,应用也不会运行。

那么,这也是不可行的~~~

第三种就不说了,我觉得是狗急跳墙的做法。

 

———————————分割线—————————————

 

接下来我要说的这种方法可以隐藏图标,同是也可以正常启动运行。

在manifest的入口activity里面intent-filter中设置<data></data>元素。

比如:

<data android:host=”AuthActivity” android:scheme=”com.android.example” />

注意,android:scheme是大小写敏感的,必须以小写字母开头

也就是这个MainActivity可以响应Uri为com.android.example://AuthActivity的特定 Intent

但是为什么加入这个之后app就不显示图标了呢?

因为我们把app的入口Activity申明为由接收隐士的Intent来启动,这样自然也就不会显示图标了。

好了,如果需要显示图标的话而且也必须响应上述Uri的话,那么我们可以在该Activity中再加入一个intent-filter标签,将data元素移到新建的标签中。这样应用既可以显示图标又可以响应特定的Uri了。

 

参考文章:

http://developer.android.com/guide/topics/manifest/intent-filter-element.html

http://wikidroid.sinaapp.com/AndroidManifest.xml_data

http://blog.youkuaiyun.com/ydt_lwj/article/details/9419239

Android13隐藏launcher APP图标的两个方法 阅读详情

相关推荐

Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标

在本文中,我将介绍如何在Android系统修改应用为默认launcher和隐藏应用图标的方法。这些方法是基于无源码的情况下进行的,只需要修改系统pms解析Androidmanifes.xml解析部分逻辑即可。当然这些方法可能并不是通用的,可能在不同的设备和系统版本上有所差异,需要根据具体情况进行调整和测试,我在这里只是提供思路。

我其实什么都不会 2376

Android 10(Q) 以上普通 APP 隐藏应用图标问题探究及解决方案

Android 10(Q) 以上普通 APP 隐藏应用图标问题探究及解决方案

cczhengv 7136

Android代码-隐藏app的app,用处自己挖掘。

中文 | English Evil Hide 隐藏app的app。用处自己挖掘。 注意: 只在Nexus 4、Nexus 5X上测试通过,小米手机不能使用(MIUI会把不在近期任务列表里的应用杀掉,导致应用的BroadcastReceiver不能响应拨号事件) 特点: 可以隐藏软件自身的图标,并通过在拨号盘输入暗号启动应用 不需要root!(仅限原生Android 5.0以上,一般而言,Nexus家族是可以使用的,包括但不限于Nexus 4、Nexus 5、Nexus 5x、Nexus 6P等,第三方厂商自己修改过的ROM不可使用,包括但不限于三星,小米,华为等) 原理 在Android 5.0以下使用以下命令显示和隐藏(需要root权限): adb shell pm endable adb shell pm disable 在Android 5.0及以上使用以下命令显示和隐藏(不需要root,但是需要系统权限): adb shell pm hide adb shell pm unhide 区别: hide命令相当于uninstall -k卸载应用但是保留数据 实际上,h

android 如何隐藏应用程序图标

实际开发中遇到这种需求,要求应用安装后隐藏应用程序图标,同时能够正常启动。在manifest的入口activity里面intent-filter中设置<data></data>元素。

Les étoiles的专栏 1532

拯救我的老平板三星note8.0 table(GT-N5110)升级到lineage os-14.1(android7.1)全记录

买了多年的三星平板note8.0已经闲置了一段时间,今天在家不能出门,也没啥事,就把它拿出来刷新系统。不成想居然搞了一天,还差点变成了砖。 原版的系统是安卓4.0的系统,很多软件已经不能用了,微信、优酷都不支持,而且三星也不提供更新升级,于是寻求第三方解决方案。折腾过程一波三折,就不赘述了,我就讲一下正确的操作过程吧。 切记我这里讲的过程只针对三星note8.0 table,国行版本,版本号是...

weixin_41108814的博客 2万+

RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

weixin_48845174的博客 4117

android手机如何隐藏应用程序,三星手机怎么隐藏图标/软件 三星隐藏应用程序设置方法...

目前包括三星在内,很多手机厂商都采用了Android智能操作系统,开放式的平台可以让我们安装大量的应用程序,不过有些系统自带的应用程序是我们平时基本用不到的,但是却占据了应用抽屉的空间,使得要找某一款应用程序时比较麻烦;另外,某些应用程序我们是不想让他人看到或使用的,这个时候,我们就可以选择将这些应用程序的图标进行隐藏起来,一来让应用抽屉更清爽,找寻应用一目了然;二来也礼貌地回避了他人看到或者使用...

weixin_30813385的博客 2055

手把手教你五种方案配置Obsidian免费同步,全平台通用(支持Alist/OpenList)

Obsidian是一款优秀的Markdown笔记工具,但官方同步服务每年近700元让人望而却步💸 本文整理了5种免费同步方案,涵盖苹果生态专属方案、多网盘插件同步、版本管理同步、点对点同步、自建实时同步等不同场景📱💻 每种方案都附有详细配置步骤,助你找到最适合的同步方式✨

XiaoqiangClub的博客 1833

Android 隐藏应用程序的图标后如何用包名启动

      之前因为项目需求需要隐藏应用程序的图标,然后第三方去调用它,看了很多博客可能是我的理解水平不够或者其他什么的,总之踩了很多坑这里我就总结了一个非常简便的方法!   一.无图标应用程序制作     这里我看了很多也试了很多,发现其实不用那么多设置之类的: AndroidManifest.xml文件中在入口Activity的intent-filter里去掉&lt;category ...

weixin_42125034的博客 1185

optee技术简介

OP-TEE(Open Portable Trusted Execution Environment)是一种开源的可信执行环境(TEE),专为ARM TrustZone架构设计。TEE是一种独立的执行环境,运行在主操作系统之外,为敏感任务提供安全的计算空间,如加密、身份验证、密钥管理等。

baron-周贺贺-代码改变世界ctw 1279

Android Audio音量——音频类型新增(九)

在实际开发中,经常会遇到需要新增一个音频类型(usage)的需求,这里我们简单介绍一下需要修改的代码。

小旭的专栏 1571

android隐藏显示应用程序图标

显示图片: PackageManager p = getPackageManager(); p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 隐藏图标: PackageManage

csh159的专栏 2294

YOLOv8独家原创改进:SPPF原创自研创新 | SPPF创新结构,重新设计全局平均池化层和全局最大池化层,增强全局视角信息和不同尺度大小的特征

SPPF_improve利用全局平均池化层和全局最大池化层,加入一些全局背景信息和边缘信息,从而获取全局视角信息并减轻不同尺度大小所带来的影响

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 4685

Android关于隐藏launcher中应用程序图标并由其他应用统一启动的功能

要实现和测试这个功能 首先要创建 3个Android App工程  其中两个App实现launcher中隐藏应用程序图标功能 一个App 用来获得他们的图标以及应用名称 并在此应用中点击相应的应用图标时 会启动对应的应用程序.                   首先建立第一个 作为隐藏的应用 关键的实现点都在AndroidManifest.xml中  我这里配置应用包名为 package

leo0717的专栏 1563

Pyhon在振动信号处理中的高级应用(一):振动信号特征(时域、频域)提取

文章目录一、概述二、算法原理2.1 时域统计特征三、python代码实现 一、概述 二、算法原理   这里我们借鉴西安交通大学机械学院雷教授的论文《Fault diagnosis of rotating machinery based on multiple ANFIS combination with GAs》相关研究成果。雷教授在论文中共列举了4类共24种振动信号的时域和频域特征。 2.1 时域统计特征 p1=∑n=1Nx(n)NP2=∑n=1N(x(n)−p1)2N−1p3=(∑n=1N∣x(n)∣N

白银时代的博客 1万+

100天精通Python(基础篇)——第4天:数据类型全解析_从基础到转换

数据类型全解析_从基础到转换

努力让自己发光,对的人才能迎着光而来 11万+

android怎么隐藏应用程序图标不见了,如何从Android桌面隐藏应用程序图标?

我定义了一个仅在我的其他应用程序中使用的应用程序.所以我想隐藏这个应用程序的图标,这样用户就无法在手机的桌面上看到它(或者你如何调用列出所有应用程序的东西?).我的清单文件看起来如下:package="xyz.games.pacman.controller"android:versionCode="1"android:versionName="1.0">android:label="@str...

weixin_39539764的博客 273

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: android主题机制(一)
下一篇: Android图片裁剪原理分析
byszy
博客等级 码龄17年 42粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值