我正在开发音乐播放器但是当我点击创建的通知时,会显示此活动的新版本,而不是显示当前正在播放的歌曲和搜索栏的新版本。
我用于通知的当前代码是
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 :(得分:0)
您宣布哪种启动模式适用于您的活动?
http://developer.android.com/guide/topics/manifest/activity-element.html#lmode
“standard”和“singleTop”模式之间的区别 一方面:每次都有“标准”的新意图 activity,创建一个新的类实例来响应它 意图。每个实例处理一个intent。同样,一个新的 也可以创建“singleTop”活动的实例来处理新的活动 意图。但是,如果目标任务已有现有实例 在其堆栈顶部的活动,该实例将收到 新意图(在onNewIntent()调用中);一个新的实例不是 创建。在其他情况下 - 例如,如果是现有实例 “singleTop”活动在目标任务中,但不在顶部 堆栈的堆栈,或者它是否位于堆栈的顶部,但不在目标中 task - 将创建一个新实例并将其推送到堆栈中。