마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

푸시 알림(Notification) 클릭했을때 질문 입니다. [closed]

0 추천

launchMode 가 singleTask 혹은 singleTop 인 Activity에 intent를 보내게 되면,

 

존재 할 경우 onNewIntent, 존재하지 않을 경우 Activity가 새로 시작하게 된다.

 

일반적인 방법으로 액티비티를 호출할 때에는 startActivity로 호출하지만,

 

Notification을 통해 호출할 경우 PendingIntent를 사용하는데,

 

액티비티의 모드가 singTask, singleTop 이며 존재하는데도 

 

강제로 액티비티를 재시작시키는 경우가 있다.

(아마도..안드로이드 레퍼런스에 코드만 보고 만들어서 그런건 아닐까 생각이 든다.)

 

정상적인 Activity lifecycle을 태우기 위해선, PendingIntent 생성시 requestCode를 반드시 넣어야한다.

(대부분 default값으로 0을 넣는다)

 

(출처 : http://fimtrus.tistory.com/entry/Android-Notification-%EC%97%90%EC%84%9C-onNewIntent%EA%B0%80-%ED%83%80%EC%A7%80-%EC%95%8A%EB%8A%94-%EB%AC%B8%EC%A0%9C )

 

------------------------------------------------------------------------------------------------------------------------------

 

위의 까지 구현을 완료하고, MainActivity 가 실행중인 상태에서 알림을 터치 했을때

 

onPause -> onNewIntent -> onResume 까지 타는걸 로그캣으로 확인을 했었는데요~

 

실제 기기에서 보고있던 화면은 아래로 내려가는 액션(?) 후, 화면이 까만화면(화면의 상태바는 나오고..)이 나오네요

 

구글 크롬 Inspect 로 웹 디버깅을 해봤더니 Inspect 화면에서는 화면 이동이 정상적으로 나옵니다..

 

제가 하고 있는게 안드로이드 MainActivity 하나의 액티비티로 index.html 안에 Iframe 으로 웹 화면 띄워주고

 

있는 걸 하고 있습니다. 실제로 저 작업을 하면 iframe 안에 웹은 이동은 하더라구요(크롬 Inspect 에서는..)

 

index.html 파일에서는 푸시에 담겨져 있는 URL 정보를 현재 띄워져있는 Iframe의 src를 바꿔주는 함수가 있구요

 

이 함수를 처음엔 onNewIntent() 나중엔 onResume() 에서 다 실행 해봤지만 같은 결과가 나옵니다..

 

뭐가 문제일까요..?  주저리 주저리 떠들었는데 고수님들 답변을 기다립니다 ㅠ.ㅠ 이틀째 해메고 있어요

 

질문을 종료한 이유: 해결하였습니다.
영양당근 (1,560 포인트) 님이 2015년 12월 22일 질문
영양당근님이 2016년 2월 1일 closed
...