我正在使用RingtoneManager,而且显然在某些手机上,它始终都返回null。我知道,如果声音是无声的或找不到声音,它将返回null。如果声音打开且有声音,为什么会返回null?该代码适用于我的关系s ....

这是我正在使用的:

Ringtone ringtone;
ringtone = RingtoneManager.getRingtone(context, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
if(ringtone == null)
{
    Log.d("Debug", "ringtone is null");
}
else
{
    ringtone.play();
}

我已启用播放铃声的所有权限(该铃声可在我的手机上使用),甚至启用了SD卡权限,以防万一铃声在SD卡上。有什么想法吗?

最佳答案

我只是陷入问题所在。如果用户具有“静音”之类的通知声音,则该功能:

RingtoneManager.getRingtone(context, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))

返回null。这就解释了为什么只有一些用户会发现此问题。

08-04 10:06