我有一个应用程序,是开放了几个小时,并使用背景服务与前景通知附加到它。每隔一段时间播放一次声音,使用:
try {
Ringtone r = RingtoneManager.getRingtone(context, uri);
r.play();
} catch (Exception e) {
e.printStackTrace();
}声音正在工作,但过了一段时间,的声音不再播放了。
没有错误,没有警告,没有崩溃。只是没有声音。
我的用户也在抱怨,所以它看起来不像一个设备特定的问题。
Android文档没有提到这件事。有人知道这是为什么吗?
发布于 2017-02-01 14:03:32
不要在BroadcastReceiver!中创建铃声或MediaPlayer
问题在于铃声或MediaPlayer的上下文。通过触发声音形式的广播接收器,一个新的MediaPlayer或铃声被创建,每次声音播放。28次之后,这个声音就不再播放了。
通过播放来自IntentSerice的声音,或者重新使用MediaPlayer或铃声的静态实例,一切都按预期播放。
https://stackoverflow.com/questions/39876885
复制相似问题