0

音楽を再生するアクティビティ (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 回再生されます)。

4

0 に答える 0