0

如何从跳板中删除应用程序图标但我不想卸载,只需从跳板中删除图标,此应用程序将从另一个应用程序启动。简而言之,我想制作另一个像这样的跳板并从那里启动应用程序,而不是从其他任何地方。这可能吗?

4

2 回答 2

0

要从跳板中删除应用程序,您可以尝试以下操作:

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

现在要从另一个应用程序启动您的应用程序,您可以执行以下步骤:

1.使用action=MAIN和category=LAUNCHER创建一个意图

2.使用 context.getPackageManager 从当前上下文中获取 PackageManager

3.packageManager.queryIntentActivity(, 0) 其中intent 有 category=LAUNCHER, action=MAIN 或 packageManager.resolveActivity(, 0) 来获得第一个带有 main/launcher 的活动

4.获取你感兴趣的ActivityInfo

5.从ActivityInfo中,获取packageName和name

6.最后,使用 category=LAUNCHER, action=MAIN, componentName = new ComponentName(packageName, name) 和 setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 创建另一个意图

7.最后,context.startActivity(newIntent)

于 2013-07-09T04:30:38.390 回答
0

在您的应用程序的 AndroidMainfest.xml 中,删除您不想拥有启动器的活动的以下行。

<category android:name="android.intent.category.LAUNCHER" />

并将android.intent.action.MAIN操作更改为您的应用特定的内容

<action android:name="android.intent.action.MAIN" />

例如,可以将其更改为以下以表示自定义意图操作:

<action android:name="com.example.action.MAIN" />

现在,您应该可以使用以下方式从另一个应用程序启动此应用程序:

    Intent intent = new Intent("com.example.action.MAIN");
    currentActivity.startActivity(intent);

更多信息在这里:http: //developer.android.com/guide/components/intents-filters.html

于 2013-07-09T04:24:01.817 回答