Android开发:怎样隐藏自己的app应用

本文主要介绍怎样通过改动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应用的总结到此结束。欢迎留言交流讨论。
转载请注明作者xiong_it和链接:http://blog.csdn.net/xiong_it/article/details/44238283。谢谢合作!
原文地址:https://www.cnblogs.com/yxysuanfa/p/6908885.html