隐藏应用程序启动器图标

时间:2018-07-06 03:20:44

标签: java android android-launcher

我有3个应用A,B,C 我想从启动器中隐藏A和B的图标。我想在C中运行A和B。

我为隐藏应用找到了以下代码:

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, com.apps.MainActivity.class);
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

我在其他应用程序中找到了该运行应用程序的编码:

  try {
                    PackageManager packageManager = getPackageManager();
                    Intent intent = packageManager.getLaunchIntentForPackage("ir.alexandre9009.nothing");
                    if (null != intent) {
                        startActivity(intent);
                    }
                } catch (ActivityNotFoundException e) {
                    // default message
                } catch (Exception e) {
                    // default message
                }

两种代码都能正常工作

但是当我同时使用它们时,它们将无法工作。也就是说,当我隐藏A和B软件图标时,它们将无法再从C软件中实现

我想隐藏软件A和B并从软件C中运行它们以启动其活动。

1 个答案:

答案 0 :(得分:0)

隐藏应用程序的图标:

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, your hiding app launcher class *com.A.MainActivity.class*); 
p.setComponentEnabledSetting(componentName, 
                            PackageManager.COMPONENT_ENABLED_STATE_DISABLE, 
                              PackageManager.DONT_KILL_APP);

带回应用程序图标:

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, your bring back app launcher class *com.A.MainActivity.class*);
p.setComponentEnabledSetting(componentName, 
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);