Настройка содержания контента в уведомлении ExoPlayer - PullRequest
0 голосов
/ 05 октября 2018

Я использую ExoPlayer для воспроизведения звука в фоновом режиме.Служба использует PlayerNotificationManager в ExoPlayer для отображения уведомления.

playerNotificationManager = PlayerNotificationManager.createWithNotificationChannel(
        this,
        "Playback",
        R.string.notification_channel_playback,
        R.id.playback_notification,
        DescriptionProvider()
)

Я бы хотел установить contentIntent в уведомлении так, чтобы нажатие в любом месте за пределами кнопок запускало действие (для отображения дополнительной информации овоспроизводимое мультимедиа).

Однако у меня нет доступа к фактическому построителю уведомлений.Вместо этого все, что я получаю, это само уведомление, установка contentIntent на экземпляре уведомления, кажется, ничего не делает (и кажется, что этого можно ожидать).

playerNotificationManager.setNotificationListener(object: PlayerNotificationManager.NotificationListener {
    override fun onNotificationStarted(notificationId: Int, notification: Notification) {
        val intent = intentFor<MyActivity>()
                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
        val pending = PendingIntent.getForegroundService(
                applicationContext,
                1,
                intent,
                0
        )
        notification.contentIntent = pending
    }

    override fun onNotificationCancelled(notificationId: Int) {
        stopSelf()
    }
})

Чтобы исключить любые проблемы сЗапуская Действия, я также попробовал Intent для воспроизведения / приостановки воспроизведения мультимедиа, который тоже не работал.

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

Некоторые вещи, которые я изучил, не работают:

  • playerNotificationManager.invalidate()
  • playerNotificationManager.setStopAction() Я не хочудополнительная кнопка!
  • playerNotificationManager.setUseNavigationAction() это кнопки пропуска

Или, если задать один вопрос: можно ли задать действие, которое нужно выполнить при нажатии (вне кнопок) на ExoPlayerуправляемые уведомления?

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