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

엑티비티a엑티비티b설정 질문입니다. a-b다음 b로만 고정

+1 추천
현재 노티피케이션을 이용해서 a라는곳은 팝업 b는 메인화면입니다 여기서 문제가 노티피케이션이 되면 a팝업창으로 들어갔다가 확인 취소해서 확인시b로 갑니다 여기서 a->b가 성립되는데 b가 되었을시 다시 노티피케이션을하면 a->b로 가게되는데 여기서 저는 b로 고정해서 업데이트식으로 운영하고싶은데 무조건 a 갔다가 b로가야하는 문제가 생겼습니다

좋은 방법 추천해주실 수 없을까요? a에서 b로 한번 갔다가 b화면이 되면 a로안가고 b로만 업데이트로 유지하고싶습니다 ㅠ
오지랖 (190 포인트) 님이 2013년 3월 19일 질문

1개의 답변

0 추천
질문 자체를 정확하게 이해하지는 못하였습니다만,.

제가 이해한대로 보면...

보통 이런 경우는 Flag를 사용하지 않나요?

한번만 보여줄 경우..한번 봤으면 Flag를 true로 만들어서 다음부턴 건너 뛴다던지...하는...
안드로이드로우 (15,740 포인트) 님이 2013년 3월 19일 답변
어떤식으로 쓰이는지 자세히 가르켜주실수있나요 그리고 flag true하는것 찾아보았는데 이것이 다른 엑티비티나 다른 자바 소스에 공유가 되나요? 2가지 소스를 이용하는데 팝업창이 한번지나면 true로 해서 팝업창이 안뜨도록 하라는 뜻인거같아서 질문드리구요
자세한 설명은 a->b로가는 노티피케이션이있습니다 여기서 노티피케이션이 울리면 a->b로갑니다 이렇게되면 b화면에서 노티피케이션이 울렸을시 a->b로갑니다 근데 저는 a는 안보고 b만 보고싶습니다 b화면에있을시에는 b의 값만 리플레쉬되는식으로 하고싶습니다 조언부탁드려요
음..b화면을 보고 있는 도중에 노티가 울려도 a->b 로 다시 가게 된다는 말씀이신가요?
그러니까 b화면을 보고 있는 도중에는 노티가 울려도 a->b 구조가 아니라, 그냥 b화면을 업데이트만 하고 싶다는 말씀이신 거죠?

그럼...제 생각인데...(어디까지나 제생각입니당ㅎㅎ해결방법은 많을것 같습니다.)
b화면이 onCreate() 되면 쉐어드프리퍼런스(간단한 값을 저장하는 Class 검색해보시면 좋으실듯)를 사용해서 현재 b화면을 보고있다는 것을 저장해 놓고,(true, false)
노티피케이션이 울릴때 저장해놓은 쉐어드프리퍼런스 값을 불러와서 true면 b화면으로 가게 하거나 아무동작 안하게 하면 되지 않을까요..?
false면 a->b 그대로 가구요..ㅎㅎ

입맛에 맞으실지는 모르겠네요..제가 필력이 딸려서 ...
죄송하지만 제가 노티피케이션 하는 것은 service쪽에서 하고있습니다 혹시 이쪽에서 쓰면 오류가 생기는데 같이 쓰지못하는게있나요?
getSharedPreferences() 쪽에서 오류가 나신다면,
PreferenceManager.getSharedPreferences() 로 해보시겠어요?
아 죄송하내여 다시하니까 잘되내요 여기서 문제가 생겼습니다
말씀대로 flag=true ,false식으로 이용하여 메인화면에 false로 하여 노티피케이션이 왔을시 메인화면으로 가게되었고 true일때는 팝업창으로 가게 해놓았는데요 여기서 문제가 메인화면으로 갔을시 무조건 false가 됩니다 메인화면에서 false를 노티피케이션이랑 연결해놔서 메인화면에선 무조근 false인데요 메인화면에서 true가 되는 지점이 화면이 꺼졌을때를 인식해야하는데 여기 부분을 어떤식으로 처리해줘야하는지 궁금합니다 ㅠ 조언부탁드려요
말씀하시는 부분은 메인화면(activity)이 켜져 있을 동안에는 값이 false 이고, 이때는 노티가 와도 팝업이 뜨면 안되는거고.
메인화면을 사용자가 보고 있지 않은 경우에는 값이 true여서 팝업이 뜨는 것인가요?

그렇다면 메인화면이 화면에서 사라지는 순간 --> onPause()
를 오버라이딩 한후 onPause() 함수 내에서 flag 값을 true로 만들어 주면 되지 않을까요?
...