2012-08-04 7 views
0

는 [경고 :이 질문에 어떤 코드가 포함되어 있습니다, 그래서 재미 있지 보일 수 있습니다.]아동 활동을 끝내고 가정 활동으로 돌아 가기 - 그게 무슨 소행입니까?

앱은 다음과 같은 구조 (활동의 기본적으로 3 단계 : 홈 -> 범주 -> 항목) :이

--- Home Activity (TabHost) 
------- Tab1: category 1 activity, contains item list, 
       onclick item will start "viewItemActivity" to view an item 
------- Tab2: category 2 (as above) 
------- Tab3: category 3 (as above) 

푸시 알림을 받으면 알림 메시지를 클릭하면 viewItem 활동 만 시작됩니다. 기본적으로 사용자가 휴대 전화에서 '돌아 가기'키를 누르면이 viewItem 활동이 종료되고 사용자가 휴대 전화 홈 화면으로 돌아갑니다.

전화 홈 화면으로 돌아가는 대신 해당 카테고리 탭을 사용하여 사용자를 집으로 보내기위한 방법이 있습니까?

일반적인 방법/아이디어가 인정 될 것입니다.

viewItem 활동 내에서 lifecircle/method의 어떤 부분을 덮어 써야하는지 확신 할 수 없습니다. 그리고 앱의 시작 프로세스/스택에 무작위로 영향을 미치지 않도록 작성하는 방법.

이 덮어 쓰기 된 방법 (onStop !?)에 대해 홈 탭 활동이 실행 중인지 확인한 다음 해당 탭을 표시하기 위해 일부 의도를 전달하는 경우 적절한 방법입니까?

고맙습니다.

답변

1

알림이 도착하면 홈 활동을 시작하고 onCreate에서 itemActivity를 시작할 수 있습니다. 그러면 스택에서 항목 활동 아래에 HomeActivity가 생기고 뒤로 버튼을 누르면 홈 활동으로 이동합니다.

+0

아마도 적절한 방법입니다. 나는 하루 종일이 모델과 다른 모델을 구현했지만, 여전히 성공하지 못했습니다. 이 모델의 경우 : 알림 수신 -> 시작 홈 활동 -> 항목 카테고리에 대한 올바른 탭 설정 -> ViewItem 활동 시작. 올바른 탭 범주를 표시하는 대신 탭 활동이 전체 화면으로 시작되어 탭 호스트 밖으로 나옵니다. TabActivity에 몇 가지 버그가 있다고 생각합니다. 따라서 왜 더 이상 사용되지 않습니다. – markbse

1

각 활동마다 onBackPressed()을 덮어 쓰면 홈 활동이 시작됩니다. 스택에 Tab1 활동이 남아 있지 않게하려면 MANIFEST 파일을 통해 기록이 없도록 다음과 같이 정의하십시오.

관련 문제