Android LocationManager.isProviderEnabled () всегда возвращает false

У меня есть приложение, которое использует сетевой провайдер для своего местоположения. Каждый раз, когда приложение запускается, оно проверяет, включен ли поставщик сети с помощью метода isProviderEnabled () в LocationManager. Если он возвращает false, я выдаю пользователю предупреждение о включении сетевого провайдера, а затем использую приложение. Эта логика работала очень хорошо, за некоторыми исключениями для не сертифицированных Google устройств (это не проблема, так как они обычно не имеют API Карт). В последнее время с некоторыми устройствами на ICS, а теперь и на эмуляторе JellyBean я получаю непротиворечивое «ложное» сообщение. для isProviderEnabled (), даже если он включен.

С тех пор я перешел на использование строки, возвращенной из Settings.Secure.getString (getContentResolver (), Settings.Secure.LOCATION_PROVIDERS_ALLOWED)), чтобы увидеть, содержит ли он & quot; сеть & quot ;. Это хак, но пока работает. Я хотел бы иметь возможность использовать метод isProviderEnabled ().

Кто-нибудь видел эту проблему раньше?

Ответы на вопрос(2)

Ваш ответ на вопрос