Android-уведомление о воспроизведении музыки - PullRequest
0 голосов
/ 13 марта 2019

Можно ли создать уведомление, которое воспроизводит определенный Uri, даже если это песня из библиотеки?Когда я пытаюсь передать этот тип Uri, я просто получаю звук уведомления по умолчанию.Я искал решения для этого и нашел много комментариев о том, как сделать так, чтобы уведомление не мешало музыке, но я не могу найти то, что воспроизводит музыку.Я вижу некоторые решения, которые обсуждают, что делать в api> = 26, но я не хочу ограничивать это для oreo и выше, поэтому я предполагаю, что мне нужно одно решение для = O (если нет одного решения, которое будет работать для обоих).Я нашел эту удобную функцию для отображения уведомления и настроил ее на получение Uri

public void showNotification(String title, String content, Uri uriSound) {
    if (mNotificationManager == null) return;

    NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext, "default")
            .setSmallIcon(R.mipmap.ic_launcher) // notification icon
            .setContentTitle(title) // title for notification
            .setContentText(content)// message for notification
            .setSound(uriSound) // set alarm sound for notification
            .setAutoCancel(true); // clear notification after click
    Intent intent = new Intent(mContext, MyCalendarReceiver.class);
    PendingIntent pi = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    builder.setContentIntent(pi);
    mNotificationManager.notify(0, builder.build());
}

. Когда я вызываю это, я передаю Uri с путем /external/audio/media/2092.Я подтвердил, что это песня из библиотеки, воспроизведя ее с помощью медиаплеера ...

private void testMedia(Uri uriSound) {
    if (mMediaPlayer != null) {
        mMediaPlayer.reset();
        mMediaPlayer = null;
    }
    mMediaPlayer = MediaPlayer.create(mContext, uriSound);
    mMediaPlayer.start();
}

Так что она воспроизводится через MediaPlayer, но когда я передаю этот Uri сборщику уведомлений, всеЯ получаю это "динь!"(звук уведомления по умолчанию).Возможно ли, чтобы уведомление воспроизводило песню, или мне нужно показывать уведомление без звука и воспроизводить песню отдельно?ТИА, Майк

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