无法在某些设备上播放默认通知铃声

时间:2018-09-28 07:12:02

标签: android android-notifications android-contentresolver

这是我播放铃声通知的代码段:

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上可以正常工作。

想知道是否有人有任何见识。

0 个答案:

没有答案