Android隐藏app桌面图标
在启动的activity的AndroidManifest注册中,添加隐式启动的data:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.tq.time">
<!--<data android:host="MainActivity" android:scheme="com.tq.time" />这条属性可以让启动app入口Activity申明为由接收隐士的Intent来启动,这样自然也就不会显示图标了
--><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><data android:host="MainActivity" android:scheme="com.tq.time" /><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity></application></manifest>
这个是我当时写的Demo,也是最终的处理方案,这样把启动activity的intent变为隐式的,桌面的图标就会被隐藏,那么就实现我希望实现的效果了。
下面是要说一下当时探索的时候遇到的问题。
删除 应用图 标的若干解决方案:
1、AndroidManifest.xml文件中在入口Activity的intent-filter里去掉
- <category android:name=”android.intent.category.LAUNCHER” />
或者将LAUNCHER改为DEFAULT
或者在在程序中加入下面的代码
init();
// PackageManager p = getPackageManager();
// p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);}
PackageManager.COMPONENT_ENABLED_STATE_ENABLED //显示应用图标
PackageManager.COMPONENT_ENABLED_STATE_DISABLED //隐藏应用图标
网上找到的博客说这俩个值来显示和隐藏应用图标有问题,隐藏以后就无法在显示应用图标了,在设置里的所有应用里也找不到了;
但是实际调试中,我根本无法安装demo到手机上,可能是新的AS不允许这种操作吧!
但是会有如下几个问题:
1、如果去掉<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中这样设置了,那么应用图标不会显示,应用也不会运行。
还有一种方案但是这个方案是不是在所有的android 手机都试用还有待确认,我是这么操作的,在AS里面修改代码包名路径,在每个相关地方修改但是不要修改清单文件里的,这样在MIUI系统里系统清单还是修改之前的包名,但是实际包名已经是修改之后的了,也达到了没有图标的要求,但是会导致之后安装什么app都不现实图标
最优的解决方案:
就是我开始用的那个方法!
接下来我要说的这种方法可以隐藏图标,同是也可以正常启动运行。
在manifest的入口activity里面intent-filter中设置<data></data>元素。
比如:
<activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN"/><data android:host="MainActivity" android:scheme="com.tq.time" /><category android:name="android.intent.category.LAUNCHER"/></intent-filter> </activity>
注意,android:scheme是大小写敏感的,必须以小写字母开头
也就是这个MainActivity可以响应Uri为com.android.example://AuthActivity的特定 Intent
但是为什么加入这个之后app就不显示图标了呢?
因为我们把app的入口Activity申明为由接收隐士的Intent来启动,这样自然也就不会显示图标了。
如果需要显示图标的话而且也必须响应上述Uri的话,那么我们可以在该Activity中再加入一个intent-filter标签,将data元素移到新建的标签中。
这样应用既可以显示图标又可以响应特定的Uri了。
Android隐藏app桌面图标相关推荐
- Android音乐App桌面图标制作以及启动页面开发(简易音乐 一)
Android音乐App桌面图标制作以及启动页面开发( 简易音乐 一 ) 关于 效果 第一步 第二步 第一步 修改SplashAcitivity的布局页面 第二步 修改androidmanifest. ...
- Android 设置APP桌面图标
Android 设置APP启动图标 1.利用Image Asset设置图标 2.直接修改AndroidManifest.xml文件中资源指向 1.利用Image Asset设置图标 点击 工具栏处 F ...
- IOS 隐藏 app 桌面 图标
由于项目需求,需要在一个项目中用代码打开另外一个项目,在android端是可以轻易实现的 但是在ios上,由于苹果在ios 8 之后,修改了设置,所以无法隐藏桌面图标了. 来看一下具体的变化. ios ...
- Android应用如何隐藏APP桌面图标
请在程序入口中加入如下代码: PackageManager packageManager = getPackageManager(); ComponentName componentName = ne ...
- Android-动态修改APP桌面图标
背景 最近公司有个动态修改APP桌面图标的需求,需要做一下技术调研,网上查了一下实现方案,然后参考网上的方案写了个实现demo,在这里记录一下. 题外话:由于图标切换都是本地配置的,产品问了一句:&q ...
- 设置App桌面图标上显示的角标数字
原文 手机微信搜索公众号 酒酒酒酒,公共号内搜索标题 设置App桌面图标上显示的角标数字 扫描公共号查看原文: 设置App桌面图标上显示的角标数字 原文 前言: 新的前置条件: 正文: 代码: 文档地 ...
- vc 隐藏桌面所有图标_如何在Windows上隐藏或取消隐藏所有桌面图标
vc 隐藏桌面所有图标 If you like a clean desktop, Windows can be a little obnoxious. Many programs you instal ...
- win10/win11快速隐藏/显示桌面图标快捷方式
使用windows系统的时候,桌面有时会变得比较杂乱,想要随时随地很方便的隐藏和显示桌面图标还不是不是一件容易的事情,这里介绍了一个代码,可以很方便地设置快捷方式. 快捷键alt+q隐藏/显示 ...
- Android 设置APP启动图标
Android 设置APP启动图标 1.利用Image Asset设置图标 2.直接修改AndroidManifest.xml文件中资源指向 1.利用Image Asset设置图标 点击 工具栏处 F ...
- iOS App桌面图标和名称
1.App桌面图标如下图: 2.App桌面名称如下图: OK!祝您生活愉快! 要是对您有用,问好,谢谢.
最新文章
- webpack入门之简单例子跑起来
- (如何从一个列表中随机抽样)np.random.choice(),random.sample()
- 为什么现在是升级到Java 8的最佳时机
- 读取txt原理_Mysql客户端任意文件读取学习
- c++获取macos中的uuid的两种方式
- 从谷歌浏览器复制不带样式_文字特效游戏海报特效字体photoshop字体图层样式
- [C语言 - 13] 运算符
- 三星t5 android,三星T5首测:一款秒杀SATA SSD的移动SSD
- 64位数开根号c语言,平方根的C语言实现(三) ——最终程序实现
- 一个产品从立项到上线流程总结
- 使用win10远程控制ubuntu16.04
- 扁平化设计的流行配色方案
- 信用卡上了“灰名单”怎么办?如何解除?
- FTP上传文件报错200 PORT command successful. Consider using PASV. 553 Could not create file.
- 微信小程序申请+开发+发布流程
- 对线程中未捕获的异常进行处理UncaughtExceptionHandler
- 关于Compartor接口中compare方法的升序,降序
- GIS中的拓扑空间关系
- selenium中添加cookies的方法 python
- CenterNet2