Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- NotificationService Extension
- Swift flutterviewcontroller
- 노티피케이션 익스텐션
- FlutterView MethodChannel
- 스위프트 푸시
- 푸시 데이터 저장
- 스위프트
- 안드로이드 FCM
- swift sms
- swift 문자
- 스위프트 UserDefaults
- Flutter UIKitView MethodChannel
- swift autolayout
- 안드로이드 앨범
- flutter 회전
- 앱 백그라운드 푸시 데이터 저장
- 스위프트 테이블 뷰 셀
- 안드로이드 바로가기
- flutter rotate
- 안드로이드 숏컷
- Swift flutterview
- 플러터 뷰 컨트롤러
- 스위프트 웹뷰
- silent push
- 스위프트 앨범
- native flutter view
- 앱 꺼졌을 때 푸시 데이터 저장
- 스위프트 카메라
- 안드로이드 에러
- Flutter NativeView
Archives
- Today
- Total
Things take time
[Android] Activity를 스택에 쌓이지 않게 하는 방법 본문
[로직]
안드로이드에서 startActivity를 호출하여 원하는 액티비티를 현재 액티비티의 위에 띄울 수 있다.
이렇게 되면 액티비티는 스택처럼, 먼저 호출된 액티비티가 밑에 위치하고 그 이후에 호출된 액티비티가 위에 가게 된다.
그래서 A->B를 호출했을 때, B에서 finish()를 호출하면 A 액티비티가 나타나게 된다.
그런데 A->B를 호출하고 A액티비티는 사라졌으면 한다면?
보통 인트로 화면을 만들때가 그 예다.
iOS에서는 기본 인트로 이미지를 사용하면, 일정시간 뒤에 지정한 뷰 컨트롤러로 이동하거나, 개발자가 특정 작업을 할 수 있도록 인트로 전용 스토리보드 + 클래스까지 제공하는 반면, 안드로이드는 그런것이 없기 때문에 직접 제작해야 한다.
가장 쉽게 생각할 수 있는 예제가
startAcivity(intent);
finish();
이 것이 아닐까.
[코드]
android:noHistory="true"
매니페스트 안에 액티비티 설정안에 적어두면 된다.
일단 저 startActivity()이후에 호출하는 finish()는 제대로 될 때가 있고, 안 될때가 있다. 먼저 새 액티비티를 띄우고 작업하기 때문에, 이 후 작업을 보장하지 못하는 듯 하다.
이 옵션은 해당 액티비티를 스택에 쌓이게 하겠냐는 것에 대한 boolean이므로 유용하게 사용할 수 있을 듯 하다.
'Android(기능)' 카테고리의 다른 글
[Android] 안드로이드 오레오(Oreo)이상 부터 사용 되는 바로가기(ShortCut) (0) | 2018.05.11 |
---|---|
[Android] 최근 실행중인 앱 목록(Recent App)에서 앱을 실행함을 감지하는 방법 (0) | 2018.05.11 |
[Android] 현재 실행중인 앱 종료하기 (0) | 2018.03.06 |
[Android] Activity의 LaunchMode에 대하여 (4) | 2018.02.22 |
[Android] Webview 쿠키, 캐시, 히스토리 등 웹데이터 삭제 (0) | 2017.12.20 |