当前位置:  操作系统>andriod

隐藏andriod 应用app启动图标的几种方法

 
    发布时间:2014-1-18  


    本文导语: 隐藏andriod 应用app启动图标的几种方法:1,AndroidManifest.xml文件中在入口Activity的intent-filter里去掉<category android:name=”android.intent.category.LAUNCHER” />,或者将LAUNCHER改为DEFAULT。问题:如果去掉<category android:name=”android.intent.cate...

隐藏andriod 应用app启动图标的几种方法

1,androidmanifest.xml文件中在入口activityintent-filter里去掉<category android:name=”android.intent.category.launcher” />,或者将

LAUNCHER改为DEFAULT

问题:如果去掉<category android:name=”android.intent.category.LAUNCHER” />,就表示app没有启动入口了,这样子确实是解决了不显示图标的效果

但是那样的话我们的应用也运行不了了。

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 //隐藏应用图标

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

PackageManager.COMPONENT_ENABLED_STATE_DEFAULT //显示应用图标

PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER  // 隐藏应用图标

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

问题:我们来看看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,去掉android:icon=”@drawable/ic_launcher”中的资源等等。

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

在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了。

  • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
    转载请注明:文章转载自:[169IT-IT技术资讯]
    本文标题:隐藏andriod 应用app启动图标的几种方法
相关文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3