说我有应用程序A和B.应用程序B有多种构建风格,但每种都略有不同,我想从应用程序A启动特定的风格。
我考虑过使用一个自定义共享意图,但我不希望操作系统提示用户在安装了多个版本的B时使用哪个版本来处理意图。
是否可以以编程方式为应用程序的每种风格定义唯一的自定义意图?
答案 0 :(得分:3)
为了在多种口味之间使用一个共享的AndroidManifest并且每个口令都有独特的意图,我在build.gradle中为每个口味添加了一个清单占位符
default {
manifestPlaceholders = [uriPrefix: "myprefix"]
}
someFlavor{
manifestPlaceholders = [uriPrefix: "otherprefix"]
}
在AndroidManfest.xml中,在intent过滤器中使用一个清单占位符:
<intent-filter>
<action android:name="com.custom.app.${uriPrefix}.SOME_ACTION" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="${uriPrefix}" />
</intent-filter>