Вот мой фрагмент кода для воспроизведения уведомления о мелодии звонка:
Uri u = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(MainActivity.this, u);
r.play();
Кажется, это работает нормально на большинстве устройств.Однако на некоторых устройствах, таких как Samsung S8 и Samsung S9, это не работает.Logcat показывает:
I/Ringtone: Internal uri : content://settings/system/notification_sound
D/RingtoneManager: getActualDefaultRingtoneUri type :2
W/MediaPlayer: Couldn't open content://0@settings/system/notification_sound_cache:
java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
Обратите внимание, что тот же код отлично работает на Samsung S7.
Интересно, если у кого-то есть понимание.