Как использовать GPS-приемник без интернета? - PullRequest
0 голосов
/ 07 августа 2011

Я планирую использовать телефон Android с поддержкой GPS для создания приложения, которое не будет использовать Интернет для доступа к текущей позиции пользователя.

Что мне нужно знать, так это как его кодировать в Eclipse. Можете ли вы поделиться фрагментом кода на Java, который будет возвращать долготу и широту пользователя GPS без доступа к Интернету?

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

1 Ответ

3 голосов
/ 07 августа 2011

Добавьте следующую строку в ваш манифест Android над тегом приложения:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Тогда вам понадобится активность или служба с таким кодом:

LocationManager locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener() {
    onLocationChanged(Location location) {
         // put code in here to respond to a change in location
    }
    onProviderDisabled(String provider) {
         // put code in here to respond to GPS being disabled
    }
    onProviderEnabled(String provider) {
        // put code in here to respond to GPS being enabled
    }
    onStatusChanged(String provider, int status, Bundle extras) {
        // put code in here to respond to change in GPS status (e.g. GPS becomes unavailable)
    }
});

Редактировать: При звонке LocationManager locationManager = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new LocationListener()... это устанавливает новый LocationListener, который слушает GPS. Первое число указывает минимальное количество миллисекунд между каждой проверкой (обратите внимание, что это всего лишь индикатор, система может проверять более / менее часто), а второе число указывает минимальное расстояние, пройденное в метрах между каждой проверкой. Так что если оба равны 0, то GPS будет проверяться постоянно, и новые значения будут отправляться на onLocationChanged(), как только они станут доступны.

Для получения более подробной информации см. http://developer.android.com/guide/topics/location/obtaining-user-location.html

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