我正在尝试制作一个警报应用程序,并且我确实很接近,但是我希望警报声音继续播放,直到用户通过我的应用程序手动将其禁用(通过拼图来关闭警报类型提示)。我现在遇到的问题是声音一直播放到我拉下通知抽屉,然后声音停止了。
以下是相关代码:

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);


我曾尝试弄乱这些标志,但似乎没有任何办法让它继续发挥作用……
感谢您的任何帮助。

最佳答案

找到了解决方案。必须使用后台服务播放铃声而不是通知管理器。

10-08 09:12