如何从跳板中删除应用程序图标但我不想卸载,只需从跳板中删除图标,此应用程序将从另一个应用程序启动。简单来说,我想制作另一个这样的跳板并从那里开始应用程序,而不是从其他任何地方。这可能吗?
答案 0 :(得分: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
答案 1 :(得分: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
创建一个intent2.使用context.getPackageManager
从当前上下文获取PackageManager3.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)创建另一个intent
7.最后,context.startActivity(newIntent)