IT/안드로이드+JAVA

[안드로이드] getIntent 데이터 삭제하기

안경 쓴 귀니 2020. 10. 22. 23:12
반응형

 

A앱에서 Intent로 값을 전달하며 B앱을 오픈한 경우,

B앱을 종료한 후에 앱 목록에서 B앱을 선택해 다시 실행시키면 getIntent에 전달받은 값이 그대로 있는 문제가 발생한다.

 

  • 테스트 순서

1. A앱에서 Intent로 값 전달하며 B앱 오픈

2. B앱에서 getIntent().getData()로 데이터 전달받아 작업 진행 후 앱 종료

3. 메뉴 키(softkey) 눌러서 나타나는 앱 목록 중 B앱 눌러서 실행

4. B앱 실행되며 getIntent().getData() 확인 시 1번에서 전달받은 데이터가 그대로 있음

 

 

  • 해결 방법

onCreate에 아래 코드로 추가하여 해결이 가능하다

1
2
3
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) != 0) {
    // 이전에 이미 사용한 Intent
// 이 경우 무시한다.
}
cs

 

반응형