[Android] activity-alias 태그를 사용하는 좋은 예. |
런처는 기본적으로 intent-filter 의 category 가 android.intent.category.LAUNCHER 로 등록된 녀석의
Activity Name 을 shortcut 과 mapping 시켜서 바탕화면에 바로가기 아이콘을 생성한다.
( 기본적인 것으로 모든 런처 구현이 그렇다는 것은 아니다. )
그래서 만약에 업데이트를 하면서 category LAUNCHER 로 지정했던 녀석의 이름이 바뀌게 되면,
런처 구현에 따라 다르지만 보통 바로가기가 삭제되거나 혹은 아이콘은 존재하지만 "존재하지 않는 앱입니다." 와 같은 메세지를 보이며 연결이 제대로 되지 않는다.
그냥 기존의 바탕화면 아이콘을 제거하거나, 모든 프로그램에서 새로 꺼내오면 되지 않겠느냐고 묻는다면,
부모님 세대를 생각해보라고 하고 싶다.
스마트폰을 사용하시는 어르신 세대들은 이런 현상에 마딱뜨리면 앱이 고장났다고 생각하며 이를 해결 못 하는 경우가 많다.
이럴 경우에는 Activity Alias 라는 녀석을 사용하면 이런 사건을 방지할 수 있다.
참고로 activity-alias 를 사용하기 위해서는 alias 가 reference 하는 activity 가 먼저 정의되어야 한다.
만약 순서가 바뀌게 되면 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 에러가 발생한다.
<activity
android:name=".NewMainActivity"
...
/>
<activity-alias
android:name=".PrevMainActivity"
android:targetActivity=".NewMainActivity"
...
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</ intent-filter>
</activity-alias>
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
Android RenderScript blur (0) | 2014.06.08 |
---|---|
안드로이드 단말 최악의 상황으로 만들어 테스트하기. (2) | 2014.06.06 |
Cannot use SessionLoginBehavior SSO_WITH_FALLBACK when com.facebook.LoginActivity is not declared as an activity in AndroidManifest.xml (0) | 2014.06.04 |
Android Custom State 만들기. (0) | 2014.06.02 |
android - drag and drop sort ( reordering ) listview (0) | 2014.05.31 |
댓글