Android 5.0 zawiera nowy sposób kontrolowania, które aplikacje mogą hałasować w urządzeniu: po naciśnięciu przycisku regulacji głośności wyskakujące okienko umożliwia teraz wybór: Brak (całkowicie cichy), Priorytet (tylko priorytetowe powiadomienia zrobić dźwięk) lub Wszystko (wszystko wolno hałasować.)Jak uzyskać dostęp do dźwięku "Tryb priorytetu" na urządzeniu z systemem Android 5.0?
Chciałbym moje app, aby móc kwerendy urządzenie, aby dowiedzieć się, które z tych trzech trybów jest aktualnie aktywny, a także chciałbym móc zmienić te tryby (bez konieczności korzenia urządzenia) ed). Czy ktoś wie, jak to zrobić?
tej pory wszystko, co mogę znaleźć to krótkie odniesienie on this changelog:
Ustawienie w urządzeniu RINGER_MODE_SILENT powoduje, że urządzenie, aby wprowadzić nowy tryb priorytetu. Urządzenie pozostawia tryb priorytetu, jeśli ustawiono go na RINGER_MODE_NORMAL lub RINGER_MODE_VIBRATE.
Działa to tak, jak opisano, co pozwala mi bardzo ograniczoną możliwość zmiany "trybu priorytetu" poprzez modyfikację ringer mode in AudioManager. To jednak nie wystarczy, ponieważ muszę dokładnie wiedzieć, które z trzech ustawień trybu priorytetu jest aktualnie aktywne, a także byłoby miło, gdybym mógł je zmienić dokładniej niż pozwala na to AudioManager.
To rozwiązuje większość mojego problemu, wystarczy użyć ContentObserver, aby obejrzeć Settings.Global dla zmian. Przynajmniej teraz mogę powiedzieć, kiedy użytkownik zmieni te ustawienia. Dzięki! – Xanatos
Dość ukryj ... Działaj zgodnie z oczekiwaniami. Wielkie dzięki! Aby tylko zwrócić uwagę na jedną rzecz, 'requestInterruptionFilter' jest tą, która zmienia tryb, aby zapytać tylko o bieżący tryb, można użyć getCurrentInterruptionFilter: https://developer.android.com/reference/android/service/notification/NotificationListenerService.html #getCurrentInterruptionFilter(). Niestety, wszystko to wymaga od użytkownika udzielenia specjalnych uprawnień do aplikacji. –
Użyłem sprawdzania ustawień globalnych w moich aplikacjach, ale jest problem z OnePlus 2 (Oxygen ROM), który używa innych wartości. Konkretnie używa 3 dla ZENMODE_ALL, 1 dla ZENMODE_NONE i 2 dla ZENMODE_PRIORITY. Czy można sprawdzić, jakiego ROMu używa urządzenie, aby zobaczyć wartości lub inne? –