Android 替换flavor中扩展类的清单意图筛选器
在我的应用程序中,flavor Lite有自己的清单,并用SplashActivityLite覆盖main的SplashActivity。主清单有一个用于Splash活动的启动器意图过滤器。但由于SplashActivityLite也有一个启动器意图过滤器,因此安装了两个应用程序图标 我已经尝试将tools:node=“replace”和tools:node=“merge”添加到活动标记SplashActivityLite中。 我已经尝试将tools:node=“replace”添加到意图过滤器中的每个属性(操作和类别标记)Android 替换flavor中扩展类的清单意图筛选器,android,android-manifest,intentfilter,Android,Android Manifest,Intentfilter,在我的应用程序中,flavor Lite有自己的清单,并用SplashActivityLite覆盖main的SplashActivity。主清单有一个用于Splash活动的启动器意图过滤器。但由于SplashActivityLite也有一个启动器意图过滤器,因此安装了两个应用程序图标 我已经尝试将tools:node=“replace”和tools:node=“merge”添加到活动标记SplashActivityLite中。 我已经尝试将tools:node=“replace”添加到意图过滤器
当类名不相同时,如何覆盖主清单的意图过滤器?根据您的评论,您的目标似乎是为这种风格创建一个合并清单,其中
SplashActivityLite
存在,但SplashActivity
不存在
在flavor的清单中,我认为您需要有两个
元素(至少就与此问题的相关性而言):
- 您可以指向
,然后使用SplashActivityLite
/MAIN
启动器正常运行
- 另一个将指向
,并使用SplashActivity
将其从合并清单中删除tools:node=“remove”
- 将
normalmanifest条目放在flavor中SplashActivityLite
- 在
中,将main
打开android:enabled=“@bool/useMainSplash”
SplashActivity
- 在
中,将main
定义为useMainSplash
true
- 在flavor中,将
定义为useMainSplash
false
SplashActivity
的清单条目,但将其禁用,使其无法启动
在这两种方法中,
SplashActivity
类都应该不受影响,因此SplashActivityLite
可以毫无问题地扩展它。您是否需要SplashActivity
才能在flavor中使用(而不显示为启动程序图标)?或者,SplashActivity
根本不需要这种口味吗?是的,它被使用了,但从SplashActivityLite扩展SplashActivityI的意义上说,我使用了第一种方法,但两者都是正确的,并且都有效