2011-02-15 7 views
0

나는 하나의 활동 응용 프로그램을 가지고 있습니다. 문제는 BACK 단추를 누르면 응용 프로그램이 최소화되지만 다시 시작하려고하면 다른 인스턴스가 시작된다는 것입니다. 내 앱이 최소화되어 있어도 사운드 스트림을 재생하므로이 사실을 알고 있습니다.동일한 응용 프로그램 인스턴스 열기

이미 실행중인 인스턴스를 시작할 때 어떻게 최대화 할 수 있습니까?

아래 코드를 시도했지만 작동하지 않습니다.

android:launchMode="singleInstance" 
+0

두 개의 인스턴스가있는 경우 - 두 번째 인스턴스가 시작될 때 최소화 된 앱이 여전히 사운드 스트림을 재생합니까? – f20k

+0

감사합니다. 객체를 클래스의 필드로 만들었고 onPause() 메서드에서 MediaPlayer 객체에 stop() 및 release() 메서드를 호출했습니다. – Cumatru

답변

1

Android에서 처리합니다. 아마도 onCreate에서 개체를 복제하고 있으므로 두 번째 사운드 스트림을 통해 2 가지 활동의 "모양"이 발생하고 있습니다.

+1

'onCreate()'에 객체를 만드는 것이 옳은 것입니다. OP는 아마도 onResume()에서 * 새로운 * 사운드를 재생 중입니다. 앱이 일시 중지 된 후 다시 시작되면 함수가 두 번 호출됩니다. –

1

C 버튼이 무엇인지 모르십니까? 응용 프로그램이 시스템에서 언로드되도록 "뒤로 키"인 경우 다시 시작하면 새 인스턴스가 열립니다. '중간 키'를 누르면 일반적으로 Android 휴대 전화에 3 개의 키만 있습니다. 응용 프로그램이 일시 중지되어 백그라운드에 놓이고 다시 실행하면 백그라운드에서 실행중인 응용 프로그램을 전경. 새로운 인스턴스가 열리지 않습니다. 이 경우 트리거되는 onPause() 및 onResume() 메서드가 있습니다. 질문에 답변 드릴 수 있기를 바랍니다.

관련 문제