android隐藏应用程序图标并使其可见

时间:2014-01-07 03:16:14

标签: android icons hide visible

我正在处理我的应用。有两个应用程序,一个应该隐藏。并由另一个开放。我在app A中尝试这样的代码

        PackageManager p = getPackageManager();
    p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

并尝试按代码

打开应用A.
Intent intent = MainActivity.this.getPackageManager()
                        .getLaunchIntentForPackage("com.example.hideicon");
                startActivity(intent); 

但它不起作用。

4 个答案:

答案 0 :(得分:1)

隐藏应用图标

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

用于显示应用图标

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(Test.this, com.example.MainActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

答案 1 :(得分:0)

由于您已禁用组件并且在启动之前未启用它,因此无效。要禁用/启用它需要权限。

答案 2 :(得分:0)

请查看此链接,我希望它对您有用。

reference link

从主要活动中删除清单文件中的启动器。并以编程方式设置它。

答案 3 :(得分:-1)

我解决了我的问题。首先,您必须通过删除

来隐藏您的应用图标
 <category android:name="android.intent.category.LAUNCHER"

第二,你可以在app B中添加代码

 Intent intent = new Intent("com.example.hideicon");
              intent.setComponent(ComponentName
                  .unflattenFromString("com.example.hideicon/com.example.hideicon.MainActivity"));
              intent.addCategory("android.intent.category.LAUNCHER");
              startActivity(intent);