Подтвердить что ты не робот

Имитировать местоположение Mock на устройстве Android через DDMS

У меня есть приложение для навигации GPS для Android 2.3.3, над которым я работаю. В настоящее время я пытаюсь имитировать местоположения через файл GPX через DDMS. Хотя это отлично работает на эмуляторе Android, я не могу заставить его работать на реальном устройстве.

Я могу видеть устройство на вкладке "Устройства", но я не могу отправлять какие-либо данные о местоположении или данные GPX, поскольку параметры находятся под вкладкой "Управление эмуляцией", выделены серым цветом.

Я заметил, что предыдущие вопросы о StackOverflow упоминают, что это невозможно, однако в документах Google под названием "Использование DDMS" - http://developer.android.com/tools/debugging/ddms.html указано следующее (по адресу в нижней части страницы)

Настройка местоположения телефона

Если ваше приложение зависит от местоположения телефона, вы можете DDMS отправляет ваше устройство или AVD в макет местоположения. Это полезно, если вы хотите протестировать различные аспекты вашего местоположения приложения функции без физического перемещения. Следующие данные геолокации типы доступны вам:

Мне просто интересно, как отправлять фальшивые данные о местоположении на устройство через DDMS. Спасибо за вашу помощь заранее, и я действительно ценю это.

4b9b3361

Ответ 1

Bilzac, ваше понимание правильное. Проще говоря, документация на Android вводит в заблуждение. Многие разработчики были смущены этим. Вы не можете загрузить файл gpx и отправить на устройство, как это делается на эмуляторе, вопреки тому, что предлагает документация.

Ответ 2

Возможно, если вы активируете макеты на своем устройстве. Затем добавьте разрешение ACCESS_MOCK_LOCATION к вашему манифесту.

Теперь вы можете написать свой собственный MockLocationManager, который генерирует местоположения mocj.

Самый простой способ - использовать приложение, которое генерирует для вас макетные ссылки. GPS Route Simulator работает неплохо. Возможно хранить файлы kml на SDCard или определять собственные маршруты.