Tôi có một ứng dụng sử dụng nhà cung cấp mạng cho vị trí của nó. Mỗi khi ứng dụng bắt đầu, nó sẽ kiểm tra xem liệu nhà cung cấp mạng có được kích hoạt hay không bằng cách sử dụng phương thức isProviderEnabled() trong LocationManager. Nếu nó trả về false, tôi trình bày một cảnh báo cho người dùng để kích hoạt Network Provider và sau đó sử dụng ứng dụng. Logic này đã hoạt động thực sự tốt, với một vài ngoại lệ với các thiết bị không được Google chứng nhận (không phải là mối quan tâm vì chúng thường không có API Maps). Gần đây, với một số thiết bị trên ICS và bây giờ trên trình giả lập JellyBean tôi nhận được một "sai" nhất quán cho isProviderEnabled() mặc dù nó được kích hoạt.Android LocationManager.isProviderEnabled() luôn trả về false
Tôi đã chuyển sang sử dụng chuỗi được trả lại từ Cài đặt.Secure.getString (getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED)) để xem liệu nó có chứa "mạng" hay không. Nó là một hack nhưng nó đang làm việc cho bây giờ. Tôi rất thích có thể sử dụng phương thức isProviderEnabled().
Có ai thấy vấn đề này trước đây không?
Tôi cũng đang gặp vấn đề này! Bạn có bất kỳ công việc xung quanh cho nó? – gkris