我有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中运行它们以启动其活动。
答案 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);