Android 有没有办法动态添加或删除活动的类别?

Android 有没有办法动态添加或删除活动的类别?,android,Android,我正在使用LauncherActivity动态决定要在列表中显示的活动 @Override protected Intent getTargetIntent() { targetIntent.addCategory(xxx_category1); targetIntent.addCategory(xxx_category2); ......... targetIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

我正在使用
LauncherActivity
动态决定要在列表中显示的活动

@Override
protected Intent getTargetIntent() {  
  targetIntent.addCategory(xxx_category1);     
  targetIntent.addCategory(xxx_category2); 
  .........      
  targetIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  return targetIntent;
}   
LauncherActivity
使用特定类别的意图过滤掉那些不需要的活动。 但是,这些类别是在xml中预定义的,活动必须适合所有类别(不是“或”而是“和”所有类别),使其适合使
启动器活动
灵活性降低的条件

所以我只是想知道有没有一种方法可以动态地添加或删除活动的类别?
非常感谢

活动别名有助于满足动态“编辑”活动的需要。通过使用别名而不是实际活动,可以使用多个配置创建多个别名。使用您想要提供的每个可能配置的别名,您可以根据需要启用/禁用别名,从而从各种视图(如系统应用程序启动器)添加/删除图标

活动别名

别名将目标活动表示为独立实体。它可以有自己的意图过滤器集,它们(而不是目标活动本身上的意图过滤器)确定哪些意图可以通过别名激活目标以及系统如何处理别名

在您的情况下,听起来您希望为每个要点击的类别配置使用一个别名。我相信,在这种情况下,别名应该很有效。我还注意到动态配置,因为我不确定我完全理解您的问题,因此如果我误解了,可能会增加清晰度

编辑别名

设置包组件(活动、接收器、服务、提供程序)的启用设置。此设置将覆盖组件在其清单中设置的任何启用状态