Android;Звук не воспроизводится в push-уведомлениях FCM - PullRequest
0 голосов
/ 08 июня 2018

Я отправляю сообщения с данными с нашего сервера приложений, вызывая API Firebase для пользователей. Пользователи получают уведомления, но звук не воспроизводится при получении уведомления.

вот код

public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    sendNotification(remoteMessage); 
}

private void sendNotification(RemoteMessage message) {
    Intent intent;
    intent = new Intent(this, HomeActivity.class);
    Log.d(TAG, message.getData().toString());

    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
                PendingIntent.FLAG_ONE_SHOT);
    Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    Ringtone r = RingtoneManager.getRingtone(this, defaultSoundUri);
    r.play();

    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setContentTitle(message.getData().get("title"))
            .setContentText(Html.fromHtml(message.getData().get("body")))
            .setAutoCancel(true)
//                .setSound(defaultSoundUri)
            .setContentIntent(pendingIntent);

        NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(0, notificationBuilder.build());
        saveMessage(message);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

в чем может быть проблема ???

1 Ответ

0 голосов
/ 08 июня 2018

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

.setSound(defaultSoundUri)

и прокомментируйте строки ниже.

//Ringtone r = RingtoneManager.getRingtone(this, defaultSoundUri);
//r.play(); 

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

Поддерживает "default" или имя файла звукового ресурса, связанного в приложении.Звуковые файлы должны находиться в /res/raw/

...