Android. Проверить включен ли GPS.

1. x2z7yy 24.11.15 13:32 Сейчас в теме
Как можно проверить программно включена ли функция геопозиционирование?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. realist 04.12.15 15:20 Сейчас в теме
Я использую такой код
Попытка
 	     СредстваГеопозиционирования.ПодключитьОбработчикИзмененияМестоположения(ОписаниеОповещения, "gps",1 , Период);    
	Исключение
	     ЗавершитьРаботуСистемы(Ложь);
	КонецПопытки;
3. realist 24.02.16 08:16 Сейчас в теме
Опытным путем выяснилось, что этот код может не работать(на одном устройстве не пашет, на другом нормально все) на Android версии ниже, чем 4.1.2
4. AganinEvgeniy 2 17.07.17 15:47 Сейчас в теме
Доброго времени суток, камрады!
Пытаюсь выполнить вызов ПодключитьОбработчикИзмененияМестоположения с указанием процедуры в виде строки к примеру:
СредстваГеопозиционирования.ПодключитьОбработчикИзмененияМестоположения("ПериодическийОтловГПСДанных()","gps",,30);
При запуске в мобильном приложении выдает ошибку "Недопустимое значение параметра (параметр номер "1")
Ну а при развороте "... ошиюка при вызове метода контекста (ПодключитьОбработчикИзмененияМестоположения) по причине ...." ну и дальше по тексту. Кто-нибудь может подсказать в чем проблема?
Платформа 8.3.10.51.
Данный код пытаюсь выполнить в процедуре ПриОткрытии(), в форме.
5. Dream_kz 129 17.07.17 15:49 Сейчас в теме
6. AganinEvgeniy 2 17.07.17 15:49 Сейчас в теме
(5) убирал, хрен редьки не слаще ....
7. Dream_kz 129 17.07.17 15:53 Сейчас в теме
(6) Через описание оповещения сделай
8. AganinEvgeniy 2 17.07.17 15:58 Сейчас в теме
(7) пробовал так:
#Если МобильноеПриложениеКлиент Тогда
//ОпсианиеОповещения = Новый ОписаниеОповещения("ПериодическийОтловГПСДанных", ЭтотОбъект);
СредстваГеопозиционирования.ПодключитьОбработчикИзмененияМестоположения("ПериодическийОтловГПСДанных","gps",,30);
#КонецЕсли
всё проходит без ошибок ... но в самой процедуре вывел сообщить ... фиг что проходит.
Само собой пробовал без комментариев :-)
9. Dream_kz 129 17.07.17 16:01 Сейчас в теме
(8) Попробуй выводить через СообщениеПользователю, либо просто обновлять РС, а в форме списка смотреть что добавляется, либо отладкой
10. AganinEvgeniy 2 17.07.17 16:03 Сейчас в теме
(9) пробовал .... просто выводить сообщение, без какого-либо другого кода ... ничего не выводится. В регистр сведений пробовал писать, но там какая-то шляпа с передачей данных в серверную процедуру ... пишет, что нет такой процедуры. Хотя выставлял &НаСервере и Экспорт ... сути это не меняет, процедуры такой нет и хоть ты застрелись :-(
11. Dream_kz 129 17.07.17 16:07 Сейчас в теме
(10)
просто выводить сообщение

Как?
15. AganinEvgeniy 2 17.07.17 16:14 Сейчас в теме
(11) пробовал и через Новый СообщениеПользователю и через просто Сообщить() ... сути не меняет. Ничего не выводится пользователю
12. Dream_kz 129 17.07.17 16:09 Сейчас в теме
(10)
какая-то шляпа с передачей данных в серверную процедуру

Все там нормально
13. AganinEvgeniy 2 17.07.17 16:11 Сейчас в теме
(12)Вот весь код формы:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	#Если МобильноеПриложениеКлиент Тогда
		ОпсианиеОповещения = Новый ОписаниеОповещения("ПериодическийОтловГПСДанных", ЭтотОбъект);
		СредстваГеопозиционирования.ПодключитьОбработчикИзмененияМестоположения(ОпсианиеОповещения,"gps",,30);
	#КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ПериодическийОтловГПСДанных() Экспорт
	#Если МобильноеПриложениеКлиент Тогда
		ПолСообщ = Новый СообщениеПользователю();
		ПолСообщ.Текст = "Пымал!";
		ПолСообщ.Поле = ЭтаФорма.Элементы.СписокКоординат;
		ПолСообщ.УстановитьДанные(ЭтотОбъект);
		ПолСообщ.Сообщить();
		
	#КонецЕсли
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	Если ИмяСобытия = "ПериодическийОтловГПСДанных" Тогда
		ПериодическийОтловГПСДанных();
	КонецЕсли;
КонецПроцедуры
Показать
16. Dream_kz 129 17.07.17 16:16 Сейчас в теме
(13) Менять местоположение пробовал?
17. AganinEvgeniy 2 17.07.17 16:18 Сейчас в теме
(16) в смысле? Я и хочу в этом обработчике использовать вместо сообщить конструкцию: "СредстваГеопозиционирования.ОбновитьМестоположение(ТекущийПровайдер, 10);". Но она у меня не попадает даже в эту процедуру.
Зачем мне ПЕРЕД началом обработкиожидания менять местоположение? Ща попробую .... хотя и сомневаюсь, что взлетит.
19. Dream_kz 129 17.07.17 16:21 Сейчас в теме
(17) По городу походить
AganinEvgeniy; +1 Ответить
20. AganinEvgeniy 2 17.07.17 16:22 Сейчас в теме
(19) А! Понял ... не пробовал. Но я же поставил обновление по времени, а не по метражу. Ну ... ща опробирую ....
21. AganinEvgeniy 2 17.07.17 16:38 Сейчас в теме
(19) Похоже что проблема решена ... Ваш покорный слуга дятел :-). Спасибо за помощь! Проблема была не в том, что указана процедура отлова данных по метражу, а просто я ГПС вырубил на устройстве физически вечером и забыл сегодня его активировать. Сейчас включил и сразу же вылезло сообщение. И динамический список на форме сейчас обновляется нужными мне данными .... ура-ура!!!
22. bubus 19.07.17 08:35 Сейчас в теме
(21)Этож какую батарею за спиной таскать надо с постоянно включенным ЖПС?)))
23. AganinEvgeniy 2 19.07.17 12:23 Сейчас в теме
(22) Я бы не сказал что очень большую. У меня на телефоне ГПС не отключается физически вообще и по 2-4 часа в день оно используется в полной мере в навигаторе, а кроме того всякие вай-фай и блютуз так же не вырубаются и телефон держит заряд с самого утра и до позднего вечера ... и это не какой-нибудь OUKITEL K10000 с неубиваемой батареей, а рядовой Самсунг.
18. AganinEvgeniy 2 17.07.17 16:20 Сейчас в теме
(16) собственно поменял процедуру приоткрытии:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	#Если МобильноеПриложениеКлиент Тогда
		ТекущийПровайдер = "gps";
		СредстваГеопозиционирования.ОбновитьМестоположение(ТекущийПровайдер, 15);
		ОпсианиеОповещения = Новый ОписаниеОповещения("ПериодическийОтловГПСДанных", ЭтотОбъект);
		СредстваГеопозиционирования.ПодключитьОбработчикИзмененияМестоположения(ОпсианиеОповещения,"gps",,30);
	#КонецЕсли
КонецПроцедуры
Показать

Сути не поменялось.
14. AganinEvgeniy 2 17.07.17 16:12 Сейчас в теме
никаких сообщений не выводится и в точку останова не выходит, которую я ставлю при создании сообщения пользователю. Хотя в самой процедуре ПриОткрытии() точка останова отрабатывается ...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот