这是我播放铃声通知的代码段:
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上可以正常工作。
想知道是否有人有任何见识。