У меня есть код, который выскакивает уведомление вместе с пользовательским звуком, выбранным из 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());