티스토리 뷰

android의 manifest의 activity-alias에 대해서 이야기 해보려 합니다.

일단 이것의 속성값들입니다.

<activity-alias android:enabled=["true" | "false"]
        android:exported=["true" | "false"]
        android:icon="*drawable resource*"
        android:label="*string resource*"
        android:name="*string*"
        android:permission="*string*"
        android:targetActivity="*string*">
         ...
</activity-alias>

activity에서 사용할수 있는 값들을 가지고 있는데요…

왜 이것이 필요한지에 대해서 오늘 알아보도록 하겠습니다.

왜 사용하면 다음과 같은 경우가 있을겁니다.

<activity android:name=".Test1Activity"
    android:label="Test1"/>
<activity-alias android:targetActivity=".Test1Activity"
    android:name=".Test2"/>

조금 감이 오시죠? 이렇게 사용하게 되면 Test1Activity를 하나를 더 사용할수 있게 됩니다. 같은 모양인데 다른Activity처럼요.


그럼 위에 나열한 부분들처럼 기본적으로 사용할 수 있는 부분들은 재정의해서 사용이 가능한것입니다.


별로 쓸모가 없어 보입니다.

그렇죠… 정말 쓸모가 없어 보이지만 좋은 쓸모가 있습니다.


우리가 앱을 만들고 바로가기를 만들어서 사용할수 있도록 되어 있다고 합시다.

그런데 이 앱을 만들때 처음에 만들었던 category를 LAUNCHER로 지정하였던 Activity의 이름을 변경하였다고 합시다.


그렇게 되면 바탕화면의 바로가기 아이콘은 바로 사라질것입니다.

그럴때 사용하면 아주 좋은 기능입니다.


<activity
    android:name=".MainActivity"
    ...
    />
<activity-alias
    android:name=".FirstActivity"
    android:targetActivity=".MainActivity"
    ...
    >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </ intent-filter>
</activity-alias>


그렇게 이렇게 만든다면? 바로가기는 activity-alias를 바라보게 되어 있고 이것은 이름이 변경되지 않게 됩니다. 그러면서 자연스럽게 변경된 Activity로 연결이 됩니다.


조금 감이 오시죠? 이렇게 사용하게 되면 Test1Activity를 하나를 더 사용할수 있게 됩니다. 같은 모양인데 다른Activity처럼요.


그럼 위에 나열한 부분들처럼 기본적으로 사용할 수 있는 부분들은 재정의해서 사용이 가능한것입니다.


별로 쓸모가 없어 보입니다.

그렇죠… 정말 쓸모가 없어 보이지만 좋은 쓸모가 있습니다.


우리가 앱을 만들고 바로가기를 만들어서 사용할수 있도록 되어 있다고 합시다.

그런데 이 앱을 만들때 처음에 만들었던 category를 LAUNCHER로 지정하였던 Activity의 이름을 변경하였다고 합시다.


그렇게 되면 바탕화면의 바로가기 아이콘은 바로 사라질것입니다.

그럴때 사용하면 아주 좋은 기능입니다.


주의 : activity-alias를 사용하기 위해서는 참조하는 activity가 먼저 정의 되어 있어야 합니다. 순서가 서로 거꾸로면 에러가 납니다.


공식 사이트 : https://developer.android.com/guide/topics/manifest/activity-alias-element


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함