
本文主要介绍怎样通过改动AndroidManifest.xml清单文件来达到隐藏自身应用的目的,不是隐藏第三方应用。为了不浪费大家时间。特此说明。
转载请注明作者xiong_it和链接:http://blog.csdn.net/xiong_it/article/details/44238283,谢谢合作。Android开发:怎样隐藏自己的app应用
第一种
改动Activity标签下的<intent-filter>节点下的category 属性值。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
或者干脆去掉category节点。就可以隐藏自身应用
另外一种
在Activity标签下<intent-filter>节点下加入的<data/>节点
<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>
以上还能够表达为
<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中加入例如以下代码:
PackageManager pm = getPackageManager();
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
这样的方法可以达到目的。可是。我们无法通过不论什么方法启动这个应用。上面的第二句应该改为:
pm.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, PackageManager.DONT_KILL_APP);
表示仅仅对用户隐藏。不正确系统隐藏该应用。
隐藏应用后,我们能够通过显式/隐式意图启动Activity,假设你还不知道怎么操作,请点击:《Android开发:显式/隐式Intent意图跳转Activity总结》
好了,Android开发:怎样隐藏自己的app应用的总结到此结束。欢迎留言交流讨论。