투케이2K

269. (AndroidStudio/android/java) 앱 스키마 (scheme) 접속 시 중복 실행 방지 - 앱 아이콘 클릭 시 앱 초기화 현상 해결 본문

Android

269. (AndroidStudio/android/java) 앱 스키마 (scheme) 접속 시 중복 실행 방지 - 앱 아이콘 클릭 시 앱 초기화 현상 해결

투케이2K 2022. 2. 20. 14:31

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : java

 

[방법 설명]

[원인]

- AndroidManifest.xml 에서 LAUNCHER 액티비티 실행 관리 클래스 android:launchMode="singleTask" 설정 시 앱 프로세스 초기화 현상 문제

[해결 방법]

1. AndroidManifest.xml 클래스에서 android:launchMode="singleTask" 주석 처리 실시

2. LAUNCHER 초기 실행 관리 액티비티에서 URL 스키마 접속 체크 및 분기 처리 수행 실시

3. [스키마 접속 처리 : FLAG_ACTIVITY_NEW_TASK]

// -----------------------------------------
// [화면 전환 수행]
Intent goPage = new Intent(A_Intro.this, A_Main.class);
goPage.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
goPage.setAction(Intent.ACTION_MAIN); // 런쳐 액티비티
goPage.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // 새로운 태스크
goPage.addCategory(Intent.CATEGORY_LAUNCHER); // 런쳐 액티비티
startActivity(goPage);
// -----------------------------------------
// [기존 화면 종료]
finish();
overridePendingTransition(0, 0);
// -----------------------------------------

4. [일반 접속 처리 : startActivity]

// -----------------------------------------
// [화면 전환 수행]
Intent goPage = new Intent(A_Intro.this, A_Main.class);
goPage.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(goPage);
// -----------------------------------------
// [기존 화면 종료]
finish();
overridePendingTransition(0, 0);
// -----------------------------------------

반응형
Comments