我正在使用 RingtoneManager,显然在某些手机上它一直返回 null。我知道如果声音是无声的或找不到音调,它会返回 null。开声音有提示音为什么会返回null?该代码适用于我的 nexus 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
。这也解释了为什么只有一些用户发现了这个问题。
关于java - RingtoneManager 返回空铃声,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412691/