| 关键词: nbsp 应用 节点 PackageManager view plaincopy Activity 目的 方法 getComponentName |
本文主要介绍如何通过修改AndroidManifest.xml清单文件来达到隐藏自身应用的目的,不是隐藏第三方应用,为了不浪费大家时间,特此说明。 第一种 修改Activity标签下的<intent-filter>节点下的category 属性值。 [html] view plaincopy<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> 或者干脆去掉category节点,即可隐藏自身应用 第二种 在Activity标签下<intent-filter>节点下添加的<data/>节点 [html] view plaincopy<intent-filter> <action android:name="android.intent.action.MAIN" /> <data android:scheme="access" android:host="com.example.hideapp"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 以上还可以表达为 [html] view plaincopy<intent-filter> <action android:name="android.intent.action.MAIN" /> <data android:scheme="access"/> <data android:host="com.example.hideapp"/> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 也可以达到隐藏自身应用的目的。 纠错: 第三种: 删除<application节点下 android:icon="@drawable/app_icon"属性,事实证明,这个方法无法隐藏应用app,照常显示在了桌面上,只不过icon变成了一个光溜溜的小机器人 第四种: 在MainActivity中添加如下代码: [java] view plaincopyPackageManager pm = getPackageManager(); pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 这种方法能够达到目的,但是,我们无法通过任何方法启动这个应用。上面的第二句应该改为: [java] view plaincopypm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, PackageManager.DONT_KILL_APP); 表示只对用户隐藏,不对系统隐藏该应用。 隐藏应用后,我们可以通过显式/隐式意图启动Activity,如果你还不知道怎么操作,请点击:http://blog.csdn.net/xiong_it/article/details/44239665 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|