我正在开发的Android应用程序有一个问题,当我在一个特定活动中按下“向上”操作栏按钮时,它会使系统运行同一应用程序的两个进程。
更具体地说,让我们调用活动Z及其父级,如清单中所声明的Y。如果我从活动X启动活动Z并按下向上操作栏按钮,活动Y将启动,然后我将运行两个进程:一个进程运行活动Y,另一个进程运行活动Z。
我已经尝试为该活动设置不同的启动标志,但问题仍然存在。
此活动与应用程序中的5个其他活动具有相同的任务相关性,但它似乎是唯一导致此行为的活动。
下面是我的清单的一个片段,其中的活动与导致问题的活动具有相同的亲缘关系,还有一个屏幕截图,证明该应用程序有两个进程正在运行。
显示
<activity android:name=".feature.stations.X"
android:taskAffinity="@string/affinity_petrol_stations"
android:theme="@style/AppTheme.NoActionBar"/>
<activity android:name=".feature.stations.Y"
android:taskAffinity="@string/affinity_petrol_stations"
android:theme="@style/AppTheme.NoActionBar">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".feature.stations.X"/>
</activity>
<!-- THIS IS THE ACTIVITY THAT CAUSES THE ISSUE -->
<activity android:name=".feature.stations.Z"
android:taskAffinity="@string/affinity_petrol_stations"
android:theme="@style/AppTheme.NoActionBar">
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".feature.stations.Y"/>
</activity>
截图
顶部的流程显示活动Z,底部的流程显示活动Y。