Widziałem wiele przykładów, jak ustawić domyślny dzwonek, ale bardziej mnie interesuje możliwość wypełnienia listy rozwijanej zawierającej dostępne dzwonki telefon. Lista, którą ludzie widzą, gdy zmieniają swój dzwonek w ustawieniach Androida, chcę móc wymienić wszystkie te.Uzyskiwanie listy dostępnych dzwonków w Androidzie
Najbliższą rzeczą, którą znalazłem jest here, ale znowu jest to tylko ustawienie domyślnego dzwonka. Jakieś pomysły dla kogokolwiek? Może być w lub z dzwonka.
Dostałem 'StaleDataException' (* Próba uzyskania dostępu do kursora po to został zamknięty. *) Gdy wprowadzenie telefonu w tryb uśpienia i budzi go ponownie po użyciu tego kodu. Brak zamykania kursora wydaje się go naprawić - przypuszczam, że 'RingtoneManager' zwraca zarządzany kursor? – eWolf
@eWolf Metoda getCursor' [docs (https://developer.android.com/reference/android/media/RingtoneManager.html#getCursor%28%29): 'Zwrócony kursor będzie tym samym kursorem zwracana za każdym razem, gdy wywoływana jest ta metoda, więc nie zamykaj() kursora. Kursor można bezpiecznie dezaktywować(). Jeśli RingtoneManager (Activity) nie był używany, osoba dzwoniąca powinna zarządzać zwróconym kursorem podczas jego cyklu życia, aby zapobiec przeciekowi kursora. " – user650881
@ user650881: Dziwne jest to, że [dezaktywuj] (https://developer.android. com/reference/android/database/Cursor.html # deactivate% 28% 29) jest przestarzałe od API 16 (Android 4.1 JellyBean). [Patrząc na kod] (https://github.com/android/platform_frameworks_base/blob/kitkat-release/media/java/android/media/RingtoneManager.java#L360) wydaje się, że najlepszym rozwiązaniem jest stworzenie nowego instancja RingtoneManager, aby mieć nowy poprawny kursor (lub aby utrzymywać kursor do momentu rzeczywistego użycia). – Diego