Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Novichek_9I
4 / 5 / 4
Регистрация: 31.03.2015
Сообщений: 140
#1

Приложение выдает ошибку, если на устройстве отключен GPS

12.05.2015, 16:21. Просмотров 595. Ответов 4
Метки нет (Все метки)

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

Вот листинг:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
       
        Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_COARSE);
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        criteria.setAltitudeRequired(false);
        criteria.setBearingRequired(false);
        criteria.setCostAllowed(true);
        String provider = mLocationManager.getBestProvider(criteria, true);
 
            mLocation = mLocationManager.getLastKnownLocation(provider);
            showCurrentLocation(mLocation);
 
            Geocoder geocoder = new Geocoder(this, Locale.getDefault());
 
            try {
                List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
 
                if (addresses != null) {
                    Address returnedAddress = addresses.get(0);
                    String city = returnedAddress.getAddressLine(1);
 
                    mCityEditText.setText(city);
                }
 
            } catch (IOException e) {                              
                e.printStackTrace();
            }
 
protected void showCurrentLocation(Location location) {
        if (location != null) {
            lat = location.getLatitude();
            lng = location.getLongitude();
        }
    }
Кстати, без нижеуказанного участка кода, приложение не вылетает, но и город, к сожалению, не определяет.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
try {
                List<Address> addresses = geocoder.getFromLocation(lat, lng, 1);
 
                if (addresses != null) {
                    Address returnedAddress = addresses.get(0);
                    String city = returnedAddress.getAddressLine(1);
 
                    mCityEditText.setText(city);
                }
 
            } catch (IOException e) {                
                e.printStackTrace();
            }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2015, 16:21
Ответы с готовыми решениями:

Приложение запускается на эмуляторе, а при запуске на устройстве выдает ошибку
объясните пожалуйста,в чем проблема? Приложение которое я создал,прекрасно...

Приложение дает ошибку на устройстве, в в эмуляторе всё работает
Всем добрый день, При запуске приложения на устройстве, оно выдает ошибку...

Приложение выдает ошибку и закрывается на android 4.2.2 и 4.4
Всем привет, столкнулся с проблемой что мое приложение не запускается на...

Убрать диалог о включении GPS и иконку GPS. Тихий запуск GPS
Здравствуйте! Подскажите есть ли возможность включить GPS в тихом режиме,...

Не получается запустить приложение на реальном устройстве
Я новичок в разработке ПО под данную ось сразу отмечу... Вообщем учусь и...

4
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
12.05.2015, 16:46 #2
Цитата Сообщение от Novichek_9I Посмотреть сообщение
String provider = mLocationManager.getBestProvider(criteria, true); mLocation = mLocationManager.getLastKnownLocation(provider);
вот тут видимо NullPointerException.
0
Novichek_9I
4 / 5 / 4
Регистрация: 31.03.2015
Сообщений: 140
12.05.2015, 16:53  [ТС] #3
YuraAAA, и что же делать ? Может быть задать условие, что если GPS выключен, то просто запустить активность, не определяя местоположение? Только у меня пока не получается это сделать
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
12.05.2015, 16:54 #4
Novichek_9I, проверьте какие провайдеры включены в данный момент
0
Novichek_9I
4 / 5 / 4
Регистрация: 31.03.2015
Сообщений: 140
12.05.2015, 17:56  [ТС] #5
А как это в листинге прописать?

Добавлено через 15 минут
Сделал такую проверку. Когда на устройстве координаты определяются только по GPS (без wi-fi и сетей), то приложение получает координаты 0.0. Наверное поэтому и вылетает. Но вот как это исправить?
0
12.05.2015, 17:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2015, 17:56

Не получается дебажить приложение на устройстве Sumsung Galaxy s3
Здравсвуйте. У меня Eclipse с Adnroid SDK. на моем HTC (Android v2) работает...

Приложение с подключением GPS. Нужна помошь
Пишу к диплому приложение которой должно собирать данные с датчика GPS и...

Какие данные необходимо перенести с телефона чтобы приложение заработало на другом устройстве
привет есть программа андройд какие папки с данными необходимо перенести на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru