Miałem prawie to samo pytanie. Po pewnych badaniach uważam, że jeśli chcesz grać w domyślny system "dźwięk powiadomienia", musisz wyświetlić powiadomienie i nakazać mu użycie dźwięku domyślnego. I jest coś do powiedzenia na temat argumentu w niektórych innych odpowiedziach, że jeśli odtwarzasz dźwięk powiadomienia, powinieneś również przedstawić komunikat z powiadomieniem.
Jednak niewielka korekta interfejsu API powiadomień pozwala zbliżyć się do tego, co chcesz. Możesz wyświetlić puste powiadomienie, a następnie usunąć je automatycznie po kilku sekundach. Myślę, że to zadziała dla mnie; może to zadziała dla ciebie.
Utworzyłem zbiór metod wygody w com.globalmentor.android.app.Notifications.java
które pozwalają stworzyć dźwięk powiadomienia tak:
Notifications.notify(this);
Dioda będzie migać, a jeśli masz pozwolenie wibracji, wystąpią drgania. Tak, ikona powiadomienia pojawi się na pasku powiadomień, ale zniknie po kilku sekundach.
W tym momencie możesz zauważyć, że skoro powiadomienie zniknie, możesz równie dobrze mieć przewijany pasek informacyjny na pasku powiadomień; możesz to zrobić w ten sposób:
Notifications.notify(this, 5000, "This text will go away after five seconds.");
Jest wiele innych wygodnych metod w tej klasie. Możesz pobrać całą bibliotekę z jej Subversion repository i zbudować ją przy pomocy Mavena. To zależy od modelu globalmentor-core library, który można również zbudować i zainstalować za pomocą Mavena.
Telefony Motorola na przykład rozszerzyły aktywność preferencji i pozwalają użytkownikowi zdefiniować dźwięk powiadomienia dla sms i innych kategorii. Powyższa metoda nie zadziała w przypadku tego typu telefonów. Czy masz pomysł, jak rozwiązać ten problem? – David
Otrzymałem komunikat o błędzie: 'MediaPlayer - Powinien mieć już ustawiony kontroler napisów'. Co to znaczy? – Deqing
Po użyciu tego rozwiązania dźwięki przestaną być odtwarzane po 28/29 razach. Ktoś wie dlaczego? –