728x90
반응형
SMALL
앱을 런처로 만들어주는 intent-filter를 추가하였습니다.
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.HOME"/>
</intent-filter>
특정 빌드버전에서는 이를 비활성화 하고 싶었습니다.
위의 intent-filter를 따로 빼서 activity-alias에 넣어줍니다.
<action android:name="android.intent.action.MAIN" />
다만, 위의 한줄도 같이 넣어주어야 런처 홈화면으로 작동하더라는..
<activity
android:name=".ui.main.MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity-alias
android:name=".AliasMainActivity"
android:targetActivity=".ui.main.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</activity-alias>
시작 Activity의 onCreate에서 다음과 같이 추가해주어 활성화/비활성화가 가능합니다.
- 비활성화
packageManager.setComponentEnabledSetting(
ComponentName(packageName, "$packageName.AliasMainActivity"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP
)
- 활성화
packageManager.setComponentEnabledSetting(
ComponentName(packageName, "$packageName.AliasMainActivity"),
PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP
)
728x90
반응형
LIST
'Android > Function' 카테고리의 다른 글
[안드로이드] 엑셀 파일 기록 & 만들기 (0) | 2021.11.23 |
---|---|
[Android] Room + RxJava 정리 (0) | 2021.11.11 |
[안드로이드] module(또는 library)에서 flavors 지정하는 법 (0) | 2021.06.09 |
livedata의 "androidx.lifecycle.observe is deprecated" 해결 방안 (0) | 2021.05.21 |