在android中隐藏已安装的应用

时间:2014-03-31 05:46:36

标签: android android-intent android-service android-launcher

我想在Android应用程序中隐藏另一个应用程序安装的应用程序,假设用户已经安装了名为Skype,Watsapp,facebook等的第三方应用程序......

我们可以通过点击其他应用中的按钮来隐藏和显示它们吗?我尝试下面的代码。没有运气,我的发射器没有发生任何事情

 PackageManager packageManager = context.getPackageManager();
ComponentName componentName = new ComponentName(context,
        LauncherActivity.class);
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
        PackageManager.DONT_KILL_APP);

但在这里我没有得到如何隐藏特定的应用程序?,我也遵循了这些SO link

但我无法知道如何隐藏一个特定的应用程序。

1 个答案:

答案 0 :(得分:2)

要隐藏/取消隐藏应用,您的应用需要是DevicePolicyManager。您可以在http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html找到有关设备策略管理器的更多信息,您可能需要使用http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#setApplicationHidden(android.content.ComponentName,java.lang.String,boolean)

 DevicePolicyManager dpm =
            (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
 ComponentName ownerComponent = new ComponentName(context, DeviceAdminReceiverImpl.class);
 boolean newHiddenValue = true;
 dpm.setApplicationHidden(ownerComponent, packageName, newHiddenValue);