我收到了用户关于音乐并不总是播放的日志。奇怪的是,原因似乎是缺少系统铃声文件。
文件路径是/system/media/audio/alarms/Alarm_Classic.ogg
我将其加载到 MediaPlay:
mp.setDataSource(context, Uri.parse(Uri.encode(fileInfo)));
mp.prepareAsync();
这会导致MediaPlayer's
onError(1, -2147483648)。之后出于记录目的,我通过以下方式检查文件是否存在:
File file = new File(fileInfo);
if (!file.exists()) {
//log
}
并且发送的日志指出,该文件实际上丢失了。很奇怪,考虑到它在前几天播放得很好并且用户说他没有对文件做任何事情。
手机是带有 Android 4.2.2 的 Galaxy Nexus。
任何想法可能导致所描述的行为?看起来像读取权限的随机问题 - 这可能是一个已知的错误吗?