У меня был почти такой же вопрос. После некоторых исследований я думаю, что если вы хотите воспроизвести системный «звук уведомления» по умолчанию, вам в значительной степени нужно отобразить уведомление и сказать ему использовать звук по умолчанию. И в некоторых других ответах есть что сказать в качестве аргумента о том, что если вы воспроизводите звук уведомления, вам также следует представить некоторое уведомление.
Тем не менее, небольшая настройка API уведомлений позволяет приблизиться к тому, что вы хотите. Вы можете отобразить пустое уведомление, а затем автоматически удалить его через несколько секунд. Я думаю, что это будет работать для меня; может быть, это будет работать для вас.
Я создал набор удобных методов, в com.globalmentor.android.app.Notifications.java
которых вы можете создать звук уведомления следующим образом:
Notifications.notify(this);
Светодиод также будет мигать, и, если у вас есть разрешение на вибрацию, возникнет вибрация. Да, значок уведомления появится в панели уведомлений, но исчезнет через несколько секунд.
В этот момент вы можете понять, что, поскольку уведомление в любом случае исчезнет, у вас также может появиться сообщение с полосой прокрутки в панели уведомлений; Вы можете сделать это так:
Notifications.notify(this, 5000, "This text will go away after five seconds.");
В этом классе есть много других удобных методов. Вы можете скачать всю библиотеку из ее хранилища Subversion и собрать ее с помощью Maven. Это зависит от библиотеки globalmentor-core, которую также можно собрать и установить с помощью Maven.