일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 여행
- opcode
- throws
- 일상탈출
- 회피
- 취약점
- bytecode 분석
- bytecode
- HelloWorld
- 치유
- 보안취약점
- javap
- Android
- 심리여행
- abstract
- 심리학
- 여행계획
- Navigation Component
- Recylcer
- 버킷리스트
- Transition
- 보안
- Interface
- Shared Elements
- IMPLEMENT
- extends
- 일상회피
- ㅇ
- static
- jvm
Archives
- Today
- Total
패스트터틀
앱 빌드후 홈런쳐에서 실행시 onResume() 이 작동하지 않고 항상 앱이 재시작될때 본문
Development language/android
앱 빌드후 홈런쳐에서 실행시 onResume() 이 작동하지 않고 항상 앱이 재시작될때
SudekY 2021. 2. 25. 19:45
당황하지 마시오! 이건 니잘못이 아니고 안드로이드 버그요!!
증상
1. 디버그모드에서는 onResume() 정상적으로 호출되고 모든 엑티비티가 정상적으로 동작함
2. 하지만 앱을 릴리즈하기위해 앱을 빌드후 기기에 업로드하여 실행시에는 다음과 같은 문제가 발생한다.
- 오직 멀티태스킹모드에서 해당앱으로 넘어갈때에는 onResume() 이 작동
- 홈런쳐(홈) 에서 앱 아이콘을 눌러서 실행시에는 반드시 마지막으로 사용했던 엑티비티가 아닌 앱이 재시작된다.
원인
1. 런처 관련되어서 API 1 부터 존재했던 버그로서 특히 커스텀으로 된 런쳐, 예를 들어서 삼성, LG 와 같은 기기에서 해당 증상이 발생한다. (여기서 런쳐란 안드로이드 기기에서 홈을 말한다. 참고로 홈도 앱을 런쳐(실행)시키는 일종의 앱이다.)
2. 정확한 원인은 stackoverflow 를 뒤져봐도 추측글만 있고 해결책만 있을뿐이다.
해결
1. MainActivity에서 onCreate() 부분에 다음과 같은 코드를 추가
if (!isTaskRoot()
&& getIntent().hasCategory(Intent.CATEGORY_LAUNCHER)
&& getIntent().getAction() != null
&& getIntent().getAction().equals(Intent.ACTION_MAIN)){
finish();
return;
}
2. 위 코드를 view에서 onCreate() 부분 시작부분에 넣을것이라면 finish() 되니까 view의 onDestory() 대비를 잘해야한다.
출처 및 기타 다른 해결책 : stackoverflow.com/questions/19545889/app-restarts-rather-than-resumes
'Development language > android' 카테고리의 다른 글
Android Shared Elements Transition 사용 및 삽질기 (+with navigation component, recycler view) (2) | 2023.02.06 |
---|---|
Android Paging v3 라이브러리 + 맵 마커 최적화 적용기 (2) | 2021.12.25 |
Error about sun/misc/BASE64Encoder 해결법 (Eclipse) (0) | 2021.11.25 |
Comments