按照本指南和其他在线讨论,我制作了这段代码,应该使用 .addAction 方法显示通知中的按钮:
@SuppressLint("NewApi")
    public void generateNotificationSong()
    {
        if(android.os.Build.VERSION.SDK_INT >= 11){
            Notification.Builder builder = new Notification.Builder(this);
            builder.setSmallIcon(R.drawable.ic_launcher);
            builder.setContentTitle(songsList.get(currentSongIndex).getTitle());
            builder.setContentText("Next: " + songsList.get(getNextSong()).getTitle());
            builder.setOngoing(true); //E' in corso
            builder.setAutoCancel(true);
            //intent con activity che devo aprire (la corrente)
            Intent thisintent = getIntent();
            PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, thisintent, PendingIntent.FLAG_UPDATE_CURRENT);
            //Aggiungo i bottoni alla notifica se android è > 4.1
            if(android.os.Build.VERSION.SDK_INT >= 16)
            {
                Log.v("A", "CIAO");
                Intent prevIntent = new Intent();
                prevIntent.setAction("prec");
                PendingIntent pendingPrev = PendingIntent.getBroadcast(this, 123, prevIntent, PendingIntent.FLAG_UPDATE_CURRENT);
                Intent nextIntent = new Intent();
                nextIntent.setAction("next");
                PendingIntent pendingNext = PendingIntent.getBroadcast(this, 123, nextIntent, PendingIntent.FLAG_UPDATE_CURRENT);
                Intent pauseIntent = new Intent();
                pauseIntent.setAction("pause");
                PendingIntent pendingPause = PendingIntent.getBroadcast(this, 123, pauseIntent, PendingIntent.FLAG_UPDATE_CURRENT);
                builder.addAction(R.drawable.btn_previous, "Previous", pendingPrev);
                builder.addAction(R.drawable.btn_pause, "Pause", pendingNext);
                builder.addAction(R.drawable.btn_next, "Next", pendingPause);
            }
            //la setto alla notifica
            builder.setContentIntent(pendingIntent);
            //infine la chiamo
            mNotify = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            if(android.os.Build.VERSION.SDK_INT >= 16)
                mNotify.notify(001, builder.build()); //funziona meglio
            else
                mNotify.notify(001, builder.getNotification()); //deprecated
        }
    }
我得到的是没有添加按钮的通知,我想我遗漏了一些东西,但我还没有找到解决方案