替换风味中扩展类的清单意图筛选器



在我的应用程序中,flavor Lite有自己的清单,并用SplashActivityLite覆盖main的SplashActivity。主清单有一个用于SplashActivity的启动器意图过滤器。但由于SplashActivityLite也有一个启动器意图过滤器,因此安装了2个应用程序图标。

我尝试将工具:node="replace"和工具:node="merge"添加到活动标记SplashActivityLite中。我尝试添加工具:node="replace"到intent过滤器中的每个属性(操作和类别标记(。

当类名不相同时,如何覆盖主清单的意图过滤器?

根据您的评论,您的目标似乎是为这种风格合并清单,其中SplashActivityLite存在,但SplashActivity不存在。

在味道的清单中,我认为你需要有两个<activity>元素(至少,就与这个问题的相关性而言(:

  • 使用MAIN/LAUNCHER<intent-filter>,可以指向SplashActivityLite并正常

  • 另一个将指向SplashActivity,并让tools:node="remove"从合并的清单中删除它

或者,您可以:

  • 在风味中有SplashActivityLite正常清单条目

  • main中,在SplashActivity上具有android:enabled="@bool/useMainSplash"

  • main中,将useMainSplash定义为true

  • 在风味中,将useMainSplash定义为false

这将保留SplashActivity的清单条目,但禁用它,使其无法启动。

在任何一种方法中,SplashActivity类都应该不受影响,因此SplashActivityLite可以毫无问题地扩展它。

最新更新