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

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

12.05.2015, 16:21. Просмотров 689. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2015, 16:21
Ответы с готовыми решениями:

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

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

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

При установке Windows 7 выдает ошибку:В устройстве нет диска. Вставьте диск в устройство \device\harddisk2\DR2
При установки Windows 7 x32(86) выдает ошибку на этапе где пишет: идет подготовка компьютера к...

LocationSensor: как определить что GPS отключен [XE10]?
Как определить что GPS отключен и предложить его включить? делаю: try if not...

4
YuraAAA
1601 / 1333 / 291
Регистрация: 25.10.2009
Сообщений: 3,486
Записей в блоге: 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
Сообщений: 142
12.05.2015, 16:53  [ТС] 3
YuraAAA, и что же делать ? Может быть задать условие, что если GPS выключен, то просто запустить активность, не определяя местоположение? Только у меня пока не получается это сделать
0
YuraAAA
1601 / 1333 / 291
Регистрация: 25.10.2009
Сообщений: 3,486
Записей в блоге: 2
12.05.2015, 16:54 4
Novichek_9I, проверьте какие провайдеры включены в данный момент
0
Novichek_9I
4 / 5 / 4
Регистрация: 31.03.2015
Сообщений: 142
12.05.2015, 17:56  [ТС] 5
А как это в листинге прописать?

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

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

не запускается приложение, выдает ошибку
при запуске флеш тула вылетает ошибка The JVM could not be started. The maximum heap size (-Xmx)...

Windows приложение, работающее с MySQL выдает ошибку
Есть windows-приложение для работы с бд mysql. Есть терминальный сервер с centos 6. На сервере...

Клиент-серверное приложение выдает ошибку по части безопасности
Всем доброго времени суток. Заранее прошу прощения, если выражаюсь неясно или неточно, с...


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

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

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