Программно найти устройство с поддержкой GPS или нет? - PullRequest
8 голосов
/ 06 апреля 2010

Я пытаюсь найти какой-нибудь код, который поможет мне узнать, имеет ли устройство, которое я использую, GPS или нет? Я не хочу знать, включен ли GPS или отключен. Я просто хочу узнать, есть ли у устройства оборудование GPS или нет через мою программу.

Ответы [ 3 ]

16 голосов
/ 06 апреля 2010

Да, это можно сделать.

Вы можете позвонить LocationManager.getAllProviders() и проверить, включен ли LocationManager.GPS_PROVIDER в список.

Просто для справки, я считаю, что все выпущенные телефоны Android поставляются с GPS. Это не то, что Android, кажется, беспокоит, например, упоминание GPS в качестве одного из атрибутов устройства, возвращаемого PackageManager.getSystemAvailableFeatures().

8 голосов
/ 06 января 2015

Старый вопрос, но мне было проще использовать

private boolean hasGpsSensor(){
        PackageManager packMan = getPackageManager();
        return packMan.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
}

Это будет false, если недоступно, и true, если активировано или нет, поэтому я использовал это после

private boolean isGpsEnabled(){
        LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        return manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
}

С этими двумя вы узнаете, доступен ли GPS, активирован или деактивирован

3 голосов
/ 30 июня 2010

Существует также метод LocationManager.isProviderEnabled (поставщик строк).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...