提问者:小点点

打开两种不同风格但代码库相同的两个实例


我正在经历以下情况:应用程序A在后台,然后我从相关图标启动应用程序B,但A重新打开。

这两种口味共享大部分相同的代码。

问题是,A和B都打开了同一个MainActivity文件。 MainActivity位于main包中,而不是在flavors包中。 我想让每种口味都为自己打开一个新的任务。

这是当前的XML文件:

A:

 <activity
            android:name="com.example.activities.MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTask">   
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>

B:

 <activity
            android:name="com.example.activities.MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTask">   
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
    </activity>

和build.grade:

defaultConfig {
        applicationId "com.example"
       ...
    }

flavorDimensions "example"
productFlavors {
    a{
        dimension "example"
        applicationIdSuffix ".a"
        versionCode ...
        versionName ...

        //flavor consts
       ...
    }

    b{
        dimension "example"
        applicationIdSuffix ".b"
        versionCode ...
        versionName ...

        //flavor consts
        ...
    }
}

我试图将launchMode转换为一个标准,但它没有任何好处。

谢了。


共1个答案

匿名用户

我还有一个领域没有提到:

        android:taskAffinity="..."

两种口味都使用了相同的task Affinity应用程序类,所以我把它切成了两个分离的应用程序类。

相关问题