【发布时间】:2012-12-13 14:50:56
【问题描述】:
我在运行 Android 4.2 的 Nexus 4 上播放铃声时遇到问题。
当我尝试播放铃声时,我看到以下异常:
java.lang.NullPointerException at android.media.Ringtone.play(Ringtone.java:228)
我的代码如下:
RingtoneManager ringtoneManager = new RingtoneManager(context);
ringtoneManager.setType(AudioManager.STREAM_NOTIFICATION);
Ringtone ringtone = ringtoneManager.getRingtone(index);
Ringtone ringtone.setStreamType(AudioManager.STREAM_NOTIFICATION);
if (ringtone != null)
{
ringtone.play();
}
索引值根据用户选择传递到我的方法中(我向他们提供要选择的铃声列表)。无论如何,我将其设置为行为始终相同。
此代码在我的另外两台运行 2.3 和 4.0.4 的设备上运行时完美运行。
当我调试时,我可以看到铃声管理器返回的铃声中的 uri 为空(并且在我的其他设备上设置为有效值)。
我做错了什么或者这可能是 4.2 中的错误吗?
【问题讨论】:
标签: android android-4.2-jelly-bean ringtone