Почему не играет рингтон? - PullRequest
0 голосов
/ 28 марта 2019

У меня есть код, который выскакивает уведомление вместе с пользовательским звуком, выбранным из RINGTONE_PICKER.Но по какой-то причине пользовательский звук не воспроизводится (возникает только вибрация) после нажатия кнопки btn1.

Код для выбора мелодии звонка:

public static Ringtone ringTone;
final int RQS_RINGTONEPICKER = 1;
      .
      .
      .

btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
            startActivity(intent);
        }
    });
           .
           .
           .
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == RQS_RINGTONEPICKER && resultCode == RESULT_OK) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
                ringTone = RingtoneManager.getRingtone(getApplicationContext(), uri);
                ringTone.play();
            }
        }
    }

Код для создания уведомления:

 long[] pattern = {500,500,500,500,500,500,500,500,500};

 NotificationCompat.Builder builder = new NotificationCompat.Builder(context, CHANNEL_ID)
            .setSmallIcon(R.drawable.ic_today_black_24dp)
            .setContentTitle(s3)
            .setContentText(message)
            .setPriority(NotificationCompat.PRIORITY_DEFAULT)
            .setLights(Color.BLUE, 500, 500)
            .setVibrate(pattern);





    NotificationManagerCompat notification=NotificationManagerCompat.from(context);
    notification.notify(NOTIFICATION_ID,builder.build());
...