Не найден провайдер геопозиционирования network

1. qweryu 19.07.21 14:19 Сейчас в теме
Добрый день.

Столкнулся с такой ситуацией.
На некоторых планшетах Huawei KOB-L09 Android 7 (возможно от модели и бренда не зависит) не находит провайдера геопозиционирования network.
Возможные провайдеры: passive, gps, local_database
У local_database реквизиты ИспользуетСетьПередачиДанных и ИспользуетСотовуюСеть равны Истина.

Сотовая связь 100% работает на планшете, проверял через ИнформацияОбИнтернетСоединении:
ИспользованиеРоуминга:НеИспользуется
ОжидаемаяСкоростьСоединения:12 000кбит/с
ТипСоединения:Сотовые данные

В документации к LocationManager
сказано, что есть 4 провайдера: GPS_PROVIDER, FUSED_PROVIDER, NETWORK_PROVIDER, PASSIVE_PROVIDER

Вопросы:
кто-нибудь сталкивался с отсутствием какого-либо провайдера геоданных?
Кто-нибудь сталкивался с провайдером local_database? Это тоже самое что и FUSED_PROVIDER?
Могла ли какая-нибудь программа изменить имя провайдера network на local_database?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. succub1_5 91 19.07.21 15:31 Сейчас в теме
А код какой? Типа этого?
&НаКлиенте
Процедура Геопозиция(Команда)
	
	Геоданные = "";
	#Если МобильноеПриложениеКлиент Тогда
		
		Если НЕ СредстваГеопозиционирования.ИспользованиеДанныхГеопозиционированияВключено() Тогда
			Геоданные = Геоданные + Символы.ПС + "Средства геопозиционирования отключены в настройках устройства.";
			Возврат;
		КонецЕсли;		
		
		СписокПровайдеров = Новый СписокЗначений;
		СписокПровайдеров.Добавить(СредстваГеопозиционирования.ПолучитьПровайдера("gps"));
		СписокПровайдеров.Добавить(СредстваГеопозиционирования.ПолучитьПровайдера("network"));
		СписокПровайдеров.Добавить(СредстваГеопозиционирования.ПолучитьСамогоЭнергоЭкономичногоПровайдера());
		СписокПровайдеров.Добавить(СредстваГеопозиционирования.ПолучитьСамогоТочногоПровайдера());
		
		Для Каждого ТекСтр из СписокПровайдеров Цикл
			ПровайдерGPS = ТекСтр.Значение;
			
			Геоданные = Геоданные + Символы.ПС + "ПровайдерGPS.Имя " + ПровайдерGPS.Имя;
			
			Если СредстваГеопозиционирования.ОбновитьМестоположение(ПровайдерGPS.Имя, 50) Тогда
				Местоположение = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(ПровайдерGPS.Имя);
				Если НЕ Местоположение = Неопределено Тогда
					//ПоказатьПредупреждение(,"Геопозиция " + СокрЛП(Местоположение.Координаты.Долгота) + ", " + СокрЛП(Местоположение.Координаты.Широта), 10);
					Геоданные = Геоданные + Символы.ПС + "Геопозиция " + СокрЛП(Местоположение.Координаты.Широта) + ", " + СокрЛП(Местоположение.Координаты.Долгота);
					Прервать;
				КонецЕсли;
			Иначе
				Геоданные = Геоданные + Символы.ПС + "Не удалось получить координаты.";
			КонецЕсли;
		КонецЦикла;
		
	#КонецЕсли  
	
КонецПроцедуры
Показать
3. qweryu 19.07.21 15:47 Сейчас в теме
(2) Похоже, кроме получения СамогоЭнергоЭкономичногоПровайдера и СамогоТочногоПровайдера.

В ТЗ заказчик сразу указал, что только network.
На некоторых планшетах СредстваГеопозиционирования.ПолучитьПровайдера("network") стал возвращать Неопределенно.
Получил массив СредстваГеопозиционирования.ПолучитьПровайдеров(), а там непонятный local_database.

Узнал, что на проблемных планшетах ставили стороннюю программу а ля Родительский контроль, то есть сотруднику выдается планшет, он может только запускать 1С и браузер.
4. qweryu 19.07.21 16:47 Сейчас в теме
Попробовал получить данные СредстваГеопозиционирования.ПолучитьПоследнееМестоположение через local_database.
Ожидаемо получил Неопределенно.
Похоже, что это какая-то заглушка.
Оставьте свое сообщение

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