单击通知时如何显示相同的活动?

时间:2013-06-11 20:09:45

标签: java android notifications

我正在开发音乐播放器但是当我点击创建的通知时,会显示此活动的新版本,而不是显示当前正在播放的歌曲和搜索栏的新版本。

我用于通知的当前代码是

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());

1 个答案:

答案 0 :(得分:0)

您宣布哪种启动模式适用于您的活动?

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

  

“standard”和“singleTop”模式之间的区别   一方面:每次都有“标准”的新意图   activity,创建一个新的类实例来响应它   意图。每个实例处理一个intent。同样,一个新的   也可以创建“singleTop”活动的实例来处理新的活动   意图。但是,如果目标任务已有现有实例   在其堆栈顶部的活动,该实例将收到   新意图(在onNewIntent()调用中);一个新的实例不是   创建。在其他情况下 - 例如,如果是现有实例   “singleTop”活动在目标任务中,但不在顶部   堆栈的堆栈,或者它是否位于堆栈的顶部,但不在目标中   task - 将创建一个新实例并将其推送到堆栈中。