Программно найти устройство с поддержкой GPS или нет?
Я пытаюсь найти какой-нибудь код, который поможет мне узнать, имеет ли устройство, которое я использую, GPS или нет? Я не хочу знать, включен ли GPS или отключен. Я просто хочу узнать, есть ли у устройства оборудование GPS или нет через мою программу.
3 ответа
Да, это можно сделать.
Ты можешь позвонить LocationManager.getAllProviders()
и проверьте, LocationManager.GPS_PROVIDER
входит в список.
Просто для справки, я считаю, что все выпущенные телефоны Android поставляются с GPS. Это не то, что Android, кажется, беспокоит, например, упоминание GPS в качестве одного из атрибутов устройства, возвращаемых PackageManager.getSystemAvailableFeatures()
,
Старый вопрос, но я нашел это проще в использовании
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 доступен, активирован или деактивирован
Есть также метод LocationManager.isProviderEnabled(поставщик строк).