音楽を再生するアクティビティ (Musicplayer.class) があり、トラックの再生が開始されると通知が表示されますが、通知をタップするとメインのアクティビティ (アプリの最初のアクティビティ) に戻ります。コードを変更するにはどうすればよいですか?通知をタップすると、音楽プレーヤーのアクティビティに移動します。
コードは Android のドキュメントから取得されます (以下を参照)。
final NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(MusicPlayer.this)
// set values....
Intent resultIntent = new Intent(MusicPlayer.this, MusicPlayer.class);
resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(MusicPlayer.this);
stackBuilder.addParentStack(MusicPlayer.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
final int mId = 1;
mNotificationManager.notify(mId,mBuilder.build());
コードを次のように変更しました。
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
mBuilder.setContentIntent(pendingIntent);
アクティビティが複製されます (2 つの同じアクティビティが実行され、同じ音楽が 2 回再生されます)。