Android - 安装应用(APP) 不显示图标

安装应用(APP) 不显示图标


本文地址:http://blog.csdn.net/caroline_wendy


本文的合集已经编著成书,高级Android开发强化实战,欢迎各位读友的建议和指导。

在京东即可购买:https://item.jd.com/12385680.html


在启动的activity的AndroidManifest注册中,添加隐式启动的data:

        <!-- 启动界面 -->
        <activity
                android:name="me.wcl.Activities.WelcomeActivity"
                android:configChanges="keyboardHidden"
                android:label="@string/app_name"
                android:theme="@style/NoActionBarActivity"
                android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <data android:host="AuthActivity" android:scheme="com.wcl.www" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>


参考:http://blog.csdn.net/ydt_lwj/article/details/9419239/


删除应用图标的若干解决方案:

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


2、在程序中加入下面的代码
显示图片:
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
隐藏图标:
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 //隐藏应用图标
我用这俩个值来显示和隐藏应用图标有问题,隐藏以后就无法在显示应用图标了,在设置里的所有应用里也找不到了;
将参数值该成这两个值就没有问题了,建议使用这两个值。

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

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

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

2、我们来看看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中这样设置了,那么应用图标不会显示,应用也不会运行。

3、就不说了,我觉得是狗急跳墙的做法。

最优的解决方案:
接下来我要说的这种方法可以隐藏图标,同是也可以正常启动运行。
在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了。




  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SpikeKing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值