如何在没有root设备的情况下隐藏Android设备中的任何应用程序?

时间:2014-01-08 06:48:20

标签: android

我正在开发一个Android应用程序。我想在我的Android设备中隐藏任何应用程序图标(whatsapp等等),我想通过按一些数字来启动我的应用程序,例如456#。有没有办法做到这一点?

我知道如何隐藏我的应用图标,但我想搜索如何隐藏其他应用图标。

Plz提前帮助我,而不是提前。

2 个答案:

答案 0 :(得分:6)

你在单个查询中提出了很多问题。让我过滤一下。

  

我知道如何隐藏我的应用程序图标,但我想搜索如何隐藏其他应用程序图标。

基本上你只需要传递包名称&该应用程序的启动器活动。

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName("YOUR_PACKAGE_NAME", "YOUR_PACKAGE_NAME.LAUNCHER_ACTIVITY_NAME");
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
  

如何查找已安装应用程序的启动器活动?

在下面的代码中,您将获得所有已安装应用的启动器活动。

final PackageManager pm = getPackageManager();

Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

List < ResolveInfo > appList = pm.queryIntentActivities(mainIntent, 0);
Collections.sort(appList, new ResolveInfo.DisplayNameComparator(pm));

for (ResolveInfo temp: appList) {
    Log.v("my logs", "package and activity name = " + temp.activityInfo.packageName + "    " + temp.activityInfo.name);
}
  

我想通过按一些数字来启动我的应用程序,例如456#

Check reference link

所以,现在你几乎已经完成了一次尝试,让我知道。

答案 1 :(得分:0)

隐藏或取消隐藏任何应用的最简单方法是通过cmd 你必须只有一个命令和buff ..它完成了

  * for disable in Kitkat

String cmd =“pm disable”+ packageName;    Shell.SU.run(CMD);

  • 在Kitkat中启用

    String cmd =“pm enable”+ packageName;

    Shell.SU.run(CMD);

    • for hide in lollipop

    String cmd =“pm hide”+ packageName;

    Shell.SU.run(CMD);

  • 用于棒棒糖中的取消隐藏

    String cmd =“pm hide”+ packageName;

    Shell.SU.run(CMD);

相关问题