2011-12-08 6 views
2

새 메시지가 도착하면 WhatsApp에서 대화 형 활동이 시작되고 사용자가 이러한 활동을 취소하거나 확인할 수 있습니다.대화 형식 활동을 시작할 때 예기치 않은 동작이 발생했습니다.

따라서 비슷한 앱 스타일의 대화 상자 스타일을 추가했습니다. 테스트를 위해 알람 관리자와 알람 리시버를 추가하여 알람 리시버가 10 초마다이 작업을 시작하도록했습니다.

내가 대화 스타일 활동을 시작하는 데 사용되는 코드는 다음과 같습니다 내 응용 프로그램이 시작되지 않은 경우

Intent dialogIntent = new Intent(MyApplication.sharedApplication, MyDialogStyleActivity.class); 
    dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    MyApplication.sharedApplication.startActivity(dialogIntent); 

모든 것이 잘 보였다. 대화 활동은 WhatsApp의 동작처럼 홈 화면 뒤에 나타납니다.

그러나 내 응용 프로그램이 시작되어 배경에 놓여진 다음 알람이 대화 상자 활동의 시작을 트리거 한 후 내 대화의 활동이 시작되기 전에 문제가 발생하여 내 응용 프로그램의 주요 활동이 올 것입니다 전경으로 돌아가서 보여줄 수도 있습니다.

내 응용 프로그램이 시작된 후에도 무언가가 대화 형 활동을 트리거 할지라도이 대화 형 활동 만 표시되거나 주요 활동이나 다른 유엔이 표시되지 않는다고 혼란스러워합니다. 관련 활동.

누구든지 도움을받을 수 있습니까?

답변

4

응용 프로그램에서 활동 스택을 유지 관리합니다. 따라서 귀하의 주요 활동 인 A와 대화 활동 B는 앱의 활동 스택에 A -> B로 표시됩니다.

앱을 실행하고 배경을 설정할 때. 대화 활동이 호출되어 포 그라운드로 이동하면 주요 활동 A는 여전히 실행 중이므로 표시됩니다. 어쩌면 startActivity (dialogActivity) 다음에 A에서 "finish()"를 호출하여 A가 완료되고 사라지는 것을 확인할 수 있습니다.

관련 문제