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

push notification data 처리 질문입니다.

0 추천
앱은 MainActivity 하나 위에 뜨는 WebView로 구성됩니다.

 

앱이 foreground, background, kill 상태 모두,

FirebaseMessagingService 의 onMessageReceived 에서 push notification을 받습니다.

 

제가 처리하고 싶은 행동은 앱이 어떤 상태이든지 push를 받고 noti를 클릭해서 앱에 들어가면

 

push 데이터에 내려온 url로 웹뷰를 이동시키는 것입니다.

 

그래서 push를 받을 때 마다 url을 preferences 에 저장을 해놓고 noti 를 클릭해서 앱 실행시 꺼내와서 loadUrl을 해줬더니 잘 됩니다.

 

하지만 푸시를 받지 않고 앱을 처음 켰을 때에는 기본 초기페이지로 가야는데 preferences에 저장해놓았던 url을 사용하다보니

앱이 kill 상태에서 push noti를 눌러서 들어온것과 마찬가지로 push에서 내려온 url로 이동합니다.

 

어떤식으로 해결해야 하나요..?

 

참고로 FirebaseMessagingService 에서 push를 받고 eventBus 나 broadcast 를 사용하여

웹뷰를 들고 있는 액티비티로 전달을 해봤지만 앱이 foreground 상태일 때만 전달이 돼서 preferences를 사용하게 됐습니다.
윤둥이 (4,560 포인트) 님이 2017년 11월 13일 질문

2개의 답변

+1 추천
 
채택된 답변
Push Message를 받아서 URL을 사용해서 로딩한 후에 SharePreference 해당 값을 Null 이나 ""(Null String) 값으로 바꾸고,

그값이 Null이거나 Null String일때는 무시하면 됩니다.

아니면 기본 값으로 채워도 되고요.
Will Kim (43,170 포인트) 님이 2017년 11월 13일 답변
윤둥이님이 2017년 11월 14일 채택됨
아 보내고나서 보낸 곳이 초기페이지가 아니면 프리퍼런스 지우면 되는구나..

보내고 나서를 생각 못했네요 ㅋㅋ기발하십니다

다른 방법으로 해결햇지만 감사해요
0 추천
PendingIntent를 사용하면 가능했던 걸로 기억합니다.
minor (13,710 포인트) 님이 2017년 11월 13일 답변
...