Как использовать Drawable с настраиваемым текстом в качестве значка действия уведомления - PullRequest
1 голос
/ 03 ноября 2019

Что мне нужно

Что я хочу достичь, это что-то вроде

this

, где должна быть возможность программно установитьномер отображается внутри значка. Т.е. я хочу значок действия уведомления с программно настраиваемым текстом.

Есть ли простой способ добиться этого? Похоже, невозможно добавить TextView к отображаемому на Android и установить текст, когда я создаю свое уведомление. Какие еще есть способы?

Код

Примерный код для создания моего уведомления (хотя я думаю, что нет необходимости отвечать на вопрос):

private void buildNotification() {
    createNotificationChannel();

    Intent playbackActionIntent = new Intent(this, MediaPlayerService.class);
    playbackActionIntent.setAction(ACTION_BACKWARD);
    PendingIntent backwardAction = PendingIntent.getService(this, 3, playbackActionIntent, 0);

    String audioTitle = "testTitle";
    String albumTitle = "testAlbumTitle";

    // Create a new Notification
    mNotificationBuilder = new NotificationCompat.Builder(this, CHANNEL_ID)
            // Hide the timestamp
            .setShowWhen(false)
            // Set the Notification style
            .setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle()
                    // Attach our MediaSession token
                    .setMediaSession(mediaSession.getSessionToken())
                    // Show our playback controls in the compat view
                    .setShowActionsInCompactView(0, 1, 2))
            // Set the Notification color
            .setColor(getResources().getColor(R.color.colorAccent))
            .setSmallIcon(R.drawable.ic_notification_new)
            // Set Notification content information
            .setContentText(albumTitle)
            .setContentTitle(audioTitle)
            // Set the visibility for the lock screen
            .setVisibility(VISIBILITY_PUBLIC)
            // Add playback actions
            .addAction(R.drawable.ic_media_backward, "backward", backwardAction)

    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    if (notificationManager != null) {
        notificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());
    }
}

Так что для R.drawable.ic_media_backward Я хочу рисовать с настраиваемым текстом, как на связанном изображении.

Любая помощь приветствуется! До сих пор я не мог найти ничего, что решило бы мою проблему.

...