У меня есть пользователи Android-планшета, сообщающие, что они не могут использовать мое приложение, потому что им не хватает GPS. Я бы ожидал этого вызова:
(LocationManager) getSystemService(LOCATION_SERVICE);
Возвратить значение null на таких устройствах, но с учетом отчетов моих пользователей в поле, которое может быть не так.
Мне не хватает одного из этих GPS-устройств для Android-планшетов Android; может кто-то там с одним сказать мне, как обнаружить, когда я работаю на таком устройстве, в идеале с 1 или 2-строчным фрагментом кода?
Большое спасибо.
Менеджер местоположений также может использовать сеть для определения местоположения, поэтому даже если у устройства нет gps, вы все равно сможете получить (более грубое) местоположение.
если вы хотите, чтобы пользователь имел gps, лучшим способом является включение тега use-feature в ваш AndroidManifest: (docs: http://developer.android.com/guide/topics/manifest/uses-feature-element.html)
<uses-feature android:name="android.hardware.location.gps" android:required="true" />
необходимый тег позволяет заблокировать их из приложения или просто сообщить им, что это необходимо. но в прямой ответ на ваш вопрос, если вы хотите использовать LocationProvider для проверки наличия GPS, выполните следующие действия:
LocationManager.getProvider(LocationManager.GPS_PROVIDER)
вернет null.