每个应用程序风格的自定义意图?

时间:2016-08-17 23:17:18

标签: android android-intent

说我有应用程序A和B.应用程序B有多种构建风格,但每种都略有不同,我想从应用程序A启动特定的风格。

我考虑过使用一个自定义共享意图,但我不希望操作系统提示用户在安装了多个版本的B时使用哪个版本来处理意图。

是否可以以编程方式为应用程序的每种风格定义唯一的自定义意图?

1 个答案:

答案 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>