2013-06-11 3 views
0

음악 플레이어를 개발 중입니다. 생성 된 알림을 클릭하면 현재 재생중인 노래와 검색 바를 표시하는 것이 아니라이 활동의 ​​새 버전이 표시됩니다.알림을 클릭 할 때 동일한 활동을 어떻게 표시합니까?

나는 통지를 사용하고 현재 코드는 당신이 당신의 활동에 선언되는 모드를 시작

Intent i = new Intent(this, AmplitudeMusicPlayer.class); 
    i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 
    PendingIntent pIntent = PendingIntent.getActivity(this, 0 , i, 0); 

    NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    NotificationCompat.Builder noti = new NotificationCompat.Builder(this); 
    noti.setContentTitle("Now Playing") 
     .setContentText(songTitle) 
     .setSmallIcon(R.drawable.default_art) 
     .setContentIntent(pIntent); 

    notificationManager.notify(0, noti.build()); 

답변

0

입니까?

"standard"와 "singleTop"모드

http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

은 한 측면에서만 서로 차이가있다 : 때마다 "표준" 활동에 대한 새로운 의도 클래스의 새로운 인스턴스있다 그 의도에 응답하도록 생성되었습니다. 각 인스턴스는 단일 인 텐트를 처리합니다. 마찬가지로 새로운 인스턴스 인 "singleTop"액티비티를 새로 작성하여 인 텐트를 처리 할 수도 있습니다. 그러나 대상 작업에 스택의 맨 위에 기존 인스턴스 이 이미있는 경우 해당 인스턴스는(onNewIntent() 호출에서) 새 인 텐트를받습니다. 새 인스턴스가 이 생성되지 않았습니다. 다른 상황에서 - 예를 들어 "singleTop"활동의 기존 인스턴스 이 대상 작업에 있지만 스택의 상단에 이 없거나 스택 맨 위에 있지만 대상에없는 경우 task - 새 인스턴스가 생성되어 스택에 푸시됩니다.

+0

고맙습니다! 올바른 것으로 표시 – user2047366

관련 문제