本文主要介绍如何通过修改AndroidManifest.xml清单文件来达到隐藏自身应用的目的,不是隐藏第三方应用,为了不浪费大家时间,特此说明。

转载请注明作者xiong_it和链接:http://blog.csdn/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应用的总结到此结束,欢迎留言交流讨论。 转载请注明作者 xiong_it 和链接: http://blog.csdn/xiong_it/article/details/44238283 ,谢谢合作!

更多推荐

Android开发:如何隐藏自己的app应用