#blackberry
#ежевика
Вопрос:
Вот мой код:
Criteria criteria = new Criteria();
LocationProvider locationProvider = LocationProvider.getInstance(criteria);
Location currentLocation = locationProvider.getLocation(300);
Он выдает исключение в третьей строке. Как я могу это исправить?
Комментарии:
1. Можете ли вы добавить трассировку стека к своему вопросу? Глядя на API, он не говорит, что getInstance() выдает исключение InterruptedException. Однако в нем говорится, что getLocation() выдает исключение InterruptedException. Может ли быть эта строка причиной исключения?
2. Извините, вы правы. Это третья строка.
3. Можете ли вы затем добавить трассировку стека? Опять же, просмотр api показывает, что getLocation вызывает InterruptedException «если операция прервана вызовом reset() из другого потока», есть ли несколько потоков, вызывающих getLocation одновременно?
4. Нет, других потоков нет. Я думаю, что я понял это. Когда я был в открытом доступе, это работало. Это может быть связано с проблемой GPS.
Ответ №1:
Вы запускаете свое приложение в симуляторе? Если да, то вам нужно изменить политику ИТ. Перейдите в Simulate и выберите Set IT Policy amp; GPS Location, как указано ниже.
Я надеюсь, что это поможет вам .. 🙂
Ответ №2:
Я понял это. Когда я нахожусь в закрытой зоне, GPS не может получать данные и выдает InterruptedException.