투케이2K

25. (TWOK/ERROR) [Android] 앱 스키마 (scheme) 접속 시 중복 실행 방지 - 앱 아이콘 클릭 시 앱 초기화 현상 해결 본문

투케이2K 에러관리

25. (TWOK/ERROR) [Android] 앱 스키마 (scheme) 접속 시 중복 실행 방지 - 앱 아이콘 클릭 시 앱 초기화 현상 해결

투케이2K 2022. 4. 10. 12:05

[환경 설정 및 설명]

프로그램 : AndroidStudio

설 명 : 앱 스키마 (scheme) 접속 시 중복 실행 방지 - 앱 아이콘 클릭 시 앱 초기화 현상 해결

 

[에러 원인]

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

 

[해결 방법]

1. AndroidManifest.xml > A_Intro 액티비티 설정 > 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