我正在尝试制作一个警报应用程序,并且我确实很接近,但是我希望警报声音继续播放,直到用户通过我的应用程序手动将其禁用(通过拼图来关闭警报类型提示)。我现在遇到的问题是声音一直播放到我拉下通知抽屉,然后声音停止了。
以下是相关代码:
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this);
notificationBuilder.setSmallIcon(R.drawable.ic_launcher);
notificationBuilder.setContentTitle(alarm.getLabel());
notificationBuilder.setContentText(alarm.getMessage());
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
notificationBuilder.setSound(alarmSound);
notificationBuilder.setOngoing(true);
Notification notification = notificationBuilder.build();
if(alarm.getVibrate()) {
notification.defaults |= Notification.DEFAULT_VIBRATE;
}
notification.flags = Notification.FLAG_NO_CLEAR | Notification.FLAG_INSISTENT;
notificationManager.notify(2, notification);
我曾尝试弄乱这些标志,但似乎没有任何办法让它继续发挥作用……
感谢您的任何帮助。
最佳答案
找到了解决方案。必须使用后台服务播放铃声而不是通知管理器。