Verwendung von Android Taskaffinität
Ich lese über taskaffinity und habe eine Demo-App mit folgenden Aktivitäten erstellt:
AB ===> taskaffinity, com.andoCD ===> taskaffinity, com.andoEEs steht geschrieben, dass Aktivitäten mit derselben Taskaffinität die einzelne Instanz einer anderen heimlich öffnen.
Also logge ich mich bei Resume of every activity ein, um die Aufgaben-ID zu sehen. Wenn es eine einzelne Instanz erstellt, warum wird dann nicht onResume von B ausgeführt, wenn ich D öffne und umgekehrt?
Ich habe die Entwicklerseite und andere Beiträge gelesen, aber immer noch nicht erfahren, wie man taskaffinity verwendet und was es nutzt. Warum sollten wir nicht stattdessen singleInstance verwenden?
Manifest:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.danroid.taskaffinity.A"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- android:taskAffinity="com.ando" -->
<activity
android:name="com.example.danroid.taskaffinity.B"
android:label="@string/app_name"
android:taskAffinity="@string/task_affinity" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.C"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.D"
android:label="@string/app_name"
android:taskAffinity="@string/task_affinity" >
</activity>
<activity
android:name="com.example.danroid.taskaffinity.E"
android:label="@string/app_name" >
</activity>
</application>