2013-06-11 50 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

推出哪種模式,你宣佈你的活動?

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

「標準」和「singleTop」模式,彼此只是 一個方面不同:每當有一個「標準」 活動一個新的意圖,這個類的一個新實例被創建以迴應該意圖。每個實例處理一個意圖。類似地,還可以創建「單頂」活動的新實例來處理新的意圖。但是,如果目標任務的堆棧頂部已有活動的實例 ,則該實例將在新的目標(在onNewIntent()調用中)接收到 ;新創建的實例不是 。在其他情況下 - 例如,如果「singleTop」活動的現有實例 位於目標任務中,但未位於堆棧頂部 處,或者位於堆棧頂部但未位於目標位置 任務 - 將創建一個新實例並將其推入堆棧。

+0

謝謝!標記爲正確 – user2047366