2012-05-14 2 views
4

내 목표는 사용자가 알림을 클릭하면 마지막 활동으로 돌아가는 것입니다. 나는 이런 식의 서비스에서 onCreate()에서에서 알림을 생성합니다Android : 알림에서 마지막 활동 복원

Intent notificationIntent = new Intent(this, MainActivity.class); 

    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

하지만 알림을 클릭하면이 홈 버튼을 클릭하기 전에 열린 마지막에 MainActivity로 이동하지.

manifest에서 launchMode = "singleTop", "standard"및 "singletask"로 MainActivity를 시도했지만 성공하지 못했습니다.

감사합니다.

+0

여기에서 가장 좋은 해결책은 http://stackoverflow.com/questions/31448840/android-how-to-open-last-activity-when-tapping-notification – nAkhmedov

답변

5

아래의 코드를 사용하여 ..

contentTitle = "MyApp"; 
    contentText = "Reopen App"; 
notificationIntent = new Intent(this, MainActivity.class); 
    contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
    notification.setLatestEventInfo(getApplicationContext(), contentTitle, contentText, contentIntent); 

그리고 SingleTop 또는 SingleInstance 안드로이드 매니페스트에 다음 대신 새 작업을 만드는 그것은 단지 하나 여전히 활동 재개 할 수있는 활동을 설정합니다.

final Intent notificationIntent = new Intent(context, YourActivity.class); 
    notificationIntent.setAction(Intent.ACTION_MAIN); 
    notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 

당신은 알림 표시 줄에서 활동을 엽니 다 만든 의도로서 이전에 응용 프로그램을 실행에 사용되는 안드로이드와 동일합니다 : 응용 프로그램을 시작할 때

+0

Vikash입니다. 일하지 마라. – Giuseppe

+0

당신은이 연결을 검사하기 만하면 해결책을 얻을 것이다. [맞춤 알림] (http://stackoverflow.com/questions/3079652/custom-notification) [마지막 활동] (http://stackoverflow.com/questions/9188412/how-to-open-last-activity-from- 알림 상태 표시 줄) [예] (http://stackoverflow.com/questions/4089213/android-notification-bar-open-last-active-activity) –

+1

이 줄이 중요합니까? (notification.setLatestEventInfo (getApplicationContext(), contentTitle, contentText, contentIntent);). 이제는 더 이상 사용되지 않습니다. 감사 – Cocorico

5

그냥 안드로이드 용도와 같은 인 텐트 필터를 사용 새 활동을 만드는 대신 열린 활동이 표시됩니다.