2013-11-07 5 views
1

Я разрабатываю приложение для Android и хочу получать координаты со смартфона. Два вопроса:получить координаты без gps (android)

1: GPS включен, но сигнала нет, поэтому у меня нет координат. Как я могу проверить, если GPS отправляет координаты или нет?

2: Если включен GPS и нет сигнала, какой другой метод я могу использовать для получения координат со смартфона?

ответ

3

Получения координат требуют использование услуг определения местоположения, который по умолчанию использует всевозможный для определения местоположения, а не только GPS, но и сотовые сигналы. Вот tutorial об использовании служб определения местоположения на Android.

Одно из советов - если вы собираетесь использовать GPS и обычно распространяете свое приложение, знайте, что GPS-сервис ОЧЕНЬ заряжен батареей. Это требует разумного кодирования, чтобы не разряжать аккумулятор ваших пользователей. Вы были предупреждены!

+0

В вашем учебном пособии показано, как использовать GPS, но если я не получу координаты от GPS, как я могу получить координаты? – Sebastian

+1

@Sebastian Учебник ДОЛЖЕН охватывать все службы - в частности, искать в руководстве «LocationManager.NETWORK_PROVIDER». Этот конкретный бит кода использует сотовые сети для определения местоположения. Это не так точно, как GPS, но он близок. –

+0

Помните, что если вы используете только устройство Wi-Fi, вам нужно будет подписаться на сторонний сервис для достижения своей цели. Для определения местоположения требуется знать, где вы находитесь относительно фиксированных известных мест, если у вас нет GPS. Мобильные сети знают, где находятся их башни. Если вы не используете один из этих двух, вам понадобится другая сторона, у которой есть эти фиксированные местоположения. –

-2

1) выборка координат устройства с использованием locationService.

mContext = getActivity(); 
mLocationManager = (LocationManager) mContext.getSystemService(Application.LOCATION_SERVICE); 
mLocationManager.requestLocationUpdates(mProvider, 60000, 100, mAttLocationListener); 
boolean gpsEnabled = mLocationManager.isProviderEnabled(mProvider); 

2) Вы все еще можете получить грубые оценки с использованием информации о местоположении, прятали в Wi-Fi

Смежные вопросы