5

Tôi đã nhận thấy có sự cố với ứng dụng phát trực tuyến âm thanh của mình trên thiết bị Android 6.0. Truyền âm thanh được thực hiện qua HLS qua kết nối mạng. Phát lại âm thanh xảy ra trong dịch vụ nền trước với thông báo hoạt động. Những gì tôi đã nhận thấy là khi các ứng dụng vào chế độ doze/ứng dụng chờ, kết nối wifi bị mất và phát lại tạm dừng. Dịch vụ của tôi ở phía trước và có một thông báo hoạt động, theo các tài liệu, nên đủ điều kiện ứng dụng của tôi không bị gián đoạn. Tôi cũng có được và duy trì một Khóa Wifi. Tôi đã đọc về danh sách trắng ứng dụng của tôi, tuy nhiên các ứng dụng như Spotify không yêu cầu bất kỳ quyền đặc biệt nào để tránh sự cố này. Bất kỳ suy nghĩ hoặc gợi ý nào?Chế độ Doze/Ứng dụng chờ trong khi phát lại âm thanh

+0

Bạn có thể tìm ra giải pháp cho điều này không? Tôi cũng đang gặp phải sự cố tương tự với ứng dụng phát trực tuyến âm thanh của mình trên Android 6.0 Tôi cũng có được Wakelock và Wifilock, nhưng khi Doze xảy ra, phát trực tuyến âm thanh sẽ dừng. Bất kỳ ý tưởng nào? – user669231

+0

Không có giải pháp nào cho đến nay, sẽ cập nhật nếu tôi tìm thấy. Vui lòng làm như vậy @ user669231 – two1stnamz

+0

Ok, chắc chắn sẽ xác nhận nếu tôi tìm thấy giải pháp? Bạn cũng có thể xác nhận sau khi Audio dừng trong bao lâu (có nghĩa là sau bao lâu điện thoại sẽ chuyển sang chế độ Doze?). Người dùng của tôi đã phàn nàn sau vài phút. Nhưng không nên doze xảy ra sau một khoảng thời gian đáng kể ... có thể là một giờ hay lâu hơn? – user669231

Trả lời

2

Giải pháp được khuyến nghị là có các quy trình riêng biệt, một để phát lại âm thanh và cho giao diện người dùng. See this long thread for lots of details

Dưới đây là phần có liên quan từ Ms Hackborn:

... có dịch vụ chạy foreground của bạn trong một quá trình khác với hoạt động này. Từ những gì tôi có thể thấy, điều này sẽ hoạt động tốt. Tôi sẽ rất thú vị khi nhìn thấy nếu bạn có được hành vi mong muốn ở đó. Ngoài ra đây thực sự là đề nghị của chúng tôi cho tình huống này - nếu bạn có một dịch vụ nền trước dài, nó phải ở trong một quá trình riêng biệt từ hoạt động, vì vậy nó không ép buộc tất cả bộ nhớ liên kết với hoạt động được giữ xung quanh. (Đây cũng là lý do tại sao lỗi này gặp phải, tất cả ứng dụng [Google] của chúng tôi sử dụng mẫu này.)

+0

Hi @ dhaag23 cảm ơn vì phản hồi. Tôi đã thử điều này nhưng ứng dụng của tôi vẫn mất kết nối wifi trên 6.0 thiết bị nhưng chạy tốt trên các thiết bị trước 6.0. – two1stnamz

+0

Xem chủ đề này trên google khắc phục sự cố này. Có lẽ đây là tình huống của bạn? https://code.google.com/p/android/issues/detail?id=193802 – dhaag23

+1

Hi @ dhaag23 tôi có thể thấy một số giải pháp được đề xuất ở cuối chủ đề "giải pháp thay thế tốt nhất mà tôi thấy chỉ đơn giản là mở một nền trước khác dịch vụ với một khóa thức trong một quá trình riêng biệt, quá trình này không có hoạt động, không có người nhận vv..Điều này đảm bảo khóa thức được tổ chức " Có ai đã thử giải pháp này và nó hoạt động không? – user669231

Các vấn đề liên quan