Tôi đã nhìn thấy rất nhiều ví dụ về cách đặt nhạc chuông mặc định, nhưng những gì tôi quan tâm hơn là có thể điền danh sách hộp thả xuống chứa nhạc chuông có sẵn trên điện thoại. Vì vậy, danh sách mà mọi người nhìn thấy khi họ thay đổi nhạc chuông của họ trong cài đặt android, tôi muốn có thể liệt kê tất cả những thứ đó.Lấy danh sách các Nhạc chuông sẵn có trong Android
Điều gần nhất tôi tìm thấy là here, nhưng một lần nữa, đây chỉ là để đặt nhạc chuông mặc định. Có ý kiến gì không? Nó có thể vào hoặc ra khỏi ringtonemanager.
Tôi nhận được 'StaleDataException' (* Đã cố gắng truy cập con trỏ sau khi đã đóng. *) Khi đặt điện thoại vào chế độ ngủ và đánh thức lại sau khi sử dụng mã này. Không đóng con trỏ dường như sửa chữa nó - Tôi cho rằng 'RingtoneManager' trả về một con trỏ được quản lý? – eWolf
@eWolf Trạng thái 'getCursor' [docs] (https://developer.android.com/reference/android/media/RingtoneManager.html#getCursor%28%29): ' Con trỏ được trả về sẽ là cùng một con trỏ trả về mỗi lần phương thức này được gọi, do đó không đóng() con trỏ. Con trỏ có thể tắt() một cách an toàn. Nếu RingtoneManager (Activity) không được sử dụng, người gọi nên quản lý con trỏ trả về thông qua vòng đời hoạt động của nó để ngăn chặn rò rỉ con trỏ.' – user650881
@ user650881: điều kỳ lạ là [hủy kích hoạt] (https://developer.android. com/reference/android/database/Cursor.html # deactivate% 28% 29) không còn được dùng nữa kể từ API 16 (Android 4.1 Jellybean). [Xem mã] (https://github.com/android/platform_frameworks_base/blob/kitkat-release/media/java/android/media/RingtoneManager.java#L360) có vẻ như giải pháp tốt nhất là tạo một thể hiện của RingtoneManager để có một con trỏ hợp lệ mới (hoặc giữ con trỏ cho đến khi nó thực sự được sử dụng). – Diego