Android/Task
Task (2) - taskAffinity
parkho79
2019. 3. 27. 09:43
728x90
taskAffinity?
taskAffinity 를 설명하기 전에 task 에 대한 개념을 정확히 이해해야 한다.
Task 에 대한 개념을 이해했다면 taskAffinity 는 아래와 같이 설명할 수 있다.
◼ Activity 실행 시 신규 task 를 만들 경우 어느 task 에 속할 지 지정
(AndroidManifest.xml에 "android:taskAffinity" 로 지정한다.)
- FLAG_ACTIVITY_SINGLE_TOP
- FLAG_ACTIVITY_NEW_TASK
- FLAG_ACTIVITY_MULTIPLE_TASK
◼ 모든 activity 는 affinity 를 가지고 있다.
◼ 값을 명시하지 않을 시 디폴트로 앱의 패키지명이 된다.

taskAffinity 명시
taskAffinity 는 패키지 명의 규칙과 동일하다.
(최소 하나의 "." 이 존재해야 한다.)
Manifest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
package="com.parkho.tasksample"> | |
<application | |
android:icon="@mipmap/ic_launcher" | |
android:label="@string/app_name" | |
android:theme="@style/AppTheme"> | |
<activity | |
android:name=".A1" | |
android:taskAffinity="com.task.A"> | |
<intent-filter> | |
<action android:name="android.intent.action.MAIN" /> | |
<category android:name="android.intent.category.LAUNCHER" /> | |
</intent-filter> | |
</activity> | |
<activity android:name=".A2" | |
android:taskAffinity="com.task.B"/> | |
<activity android:name=".A3" | |
android:taskAffinity="com.task.C"/> | |
</application> | |
</manifest> |
728x90