2011-09-20 8 views
9

나는 MainActivity라는 액티비티를 가지고 있습니다. 이 활동은이 MainActivity를 여는 PendingIntent가있는 알림을 시작합니다.Android 액티비티 싱글 톤

그래서 응용 프로그램을 닫으려면 뒤로 버튼을 두 번 클릭해야합니다. 나는 싱글 톤으로 활동을하고 싶습니다. 단일 인스턴스 또는 단일 태스크를 매니페스트로 설정하려고 시도했지만 작동하지 않습니다.

답변

15

singleInstancesingleTask은 일반적으로 사용하지 않는 것이 좋습니다.

시도 :

android:launchMode="singleTop" 

자세한 내용은 활동 요소 문서의 launchMode section를 참조하십시오. 당신은 또한 당신이 당신의 활동의 새로운 인스턴스를 생성하지 않고 앱에 반환해야하는 경우 응용 프로그램을 실행할 때 안드로이드를 사용하기 때문에, 같은 텐트 필터를 사용할 수 있습니다 tasks and back stack

4

을 읽어야 이전 기준 외에

:

당신은 알림 표시 줄에서 활동을 엽니 다 만든 의도 앱을 실행에 사용되는 안드로이드와 같은이므로
final Intent notificationIntent = new Intent(context, MainActivity.class); 
notificationIntent.setAction(Intent.ACTION_MAIN); 
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

, 이전에 열 활동 대신 새로운 하나를 만드는 표시됩니다.