Как отправить команду «geo fix» на реальное устройство Android? - PullRequest
3 голосов
/ 19 апреля 2011

Во-первых, спасибо за внимание к моему вопросу

Я планирую разработать приложение для GPS-навигатора Android

вот мои трудности и ситуации

(1) мое компьютерное оборудование давно устарело, и запуск эмулятора Android для отладки действительно стоит времени, поэтому я купил реальное устройство (мобильный телефон Android) неделю назад, чтобы заменить его эмулятор во время отладки

(2) я знаю, как отправлять данные о местоположении в эмулятор через «DDMS / Управление эмулятором / Управление местоположением», но для реального устройства это отключено

(3) я программирую в помещении, поэтому использование физической функции определения местоположения GPS недопустимо (даже если я включаю «a-gps»)

(4) я нашел другую тему здесь: Расположение макета Android на устройстве? однако, я не могу открыть подробные ссылки, такие как "ссылка Эндрюса", "http://dehuysser.appspot.com/blog/android-developer-shell-released"

Полагаю, эти сайты запрещены моей страной ......


Вот мои вопросы:

(A) я нашел несколько кодов создания фиктивных данных о местоположении, но эти коды не могут активировать функцию "onLocationChanged"

Однако мне интересно, есть ли способ отправки данных о местоположении с ПК на реальное устройство через USB-порт (я нахожусь в режиме отладки USB), как отправка местоположений из DDMS в эмулятор?

(B) У меня есть информация, что можно отправить команду "geo fix" в эмулятор, а также на реальное устройство, с помощью "telnet localhost", но как проверить номер порта, занятый мое реальное устройство?

Я знаю, что порт 5554 используется для эмулятора, но как насчет реального устройства?

Я пытался ввести команду «netstat» в терминале, но стыдно сказать, что я не знаю, какой порт для моего телефона Android ......

(C) Если мой (A) (B) вопрос не практичен ,, для чего используется «настройки / приложения / разработка / разрешить фиктивное местоположение»?

Пожалуйста, помогите мне, и спасибо за ваш ответ!

Ответы [ 2 ]

2 голосов
/ 20 июня 2016

Я написал приложение именно для этого (эта функция по умолчанию недоступна на телефонах) - оно с открытым исходным кодом и обеспечивает точно такой же интерфейс, что и эмулятор (telnet to: 5554 и запускает "geo"исправить ... "или" geo nmea "): в магазине приложений MockGeoFix

1 голос
/ 19 апреля 2011

Самым простым способом использования фиктивных данных является использование API поставщика фиктивного местоположения для тестирования.Это внизу страницы документации .Я попробовал это, и местоположение получено в обратном вызове onLocationChanged. Здесь - это код, который вы можете попробовать.

Порт, используемый adb, обычно 5037.

...