Активация поставщика сетевых местоположений в эмуляторе Android?

Можно ли активировать провайдера сетевого местоположения на эмуляторе Android? Может с поддельным целлидом?


person Janusz    schedule 11.03.2010    source источник
comment
зачем вам провайдер сетевого местоположения? это то, что вы ищете: osdir.com/ml/AndroidDevelopers/2009- 03/msg02179.html   -  person Sephy    schedule 11.03.2010
comment
Было бы неплохо иметь возможность протестировать провайдера сетевого местоположения на эмуляторе... Ссылка не то, что я ищу, спасибо.   -  person Janusz    schedule 11.03.2010
comment
Вы имеете в виду, чтобы увидеть, активирован ли GPS?   -  person Sephy    schedule 11.03.2010
comment
Провайдер определения местоположения в сети может предоставить вам местоположение без активации датчика GPS. Это экономит заряд батареи и быстрее, чем определение местоположения по GPS. Поэтому я хочу использовать его в своем приложении. И поэтому я хотел бы протестировать его с эмулятором   -  person Janusz    schedule 11.03.2010
comment
@ Януш точно. если вам не нужна точность метровой шкалы, неуместно запрашивать разрешение GPS. это не только экономит заряд батареи, но и позволяет быстрее получить исправление и менее агрессивно в отношении конфиденциальности.   -  person Jeffrey Blattman    schedule 18.04.2012


Ответы (4)


Я считаю, что то, чего вы хотите достичь, в данный момент невозможно. Вы не можете поместить фиктивные данные о местоположении в поставщика сетевых расположений эмулятора.

«Предоставление фиктивных данных о местоположении вводится как данные о местоположении GPS, поэтому вы должны запрашивать обновления местоположения от GPS_PROVIDER, чтобы данные фиктивного местоположения работали». (Цитата из Android, Документация, Предоставление фиктивных данных о местоположении)

Самое близкое, что я могу придумать, это создать «Поставщика тестов» из Менеджер местоположений

public void addTestProvider (String name, boolean requiresNetwork, boolean requiresSatellite, boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude, boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy)

и установите аргументы requiresNetwork, requiresCell и requiresSatellite соответственно. Затем вы можете поставить поддельные местоположения этому провайдеру:

public void setTestProviderLocation (String provider, Location loc)

Это близко, но не совсем то, что вы просили.

person rgr_mt    schedule 06.02.2011

вам нужно отправить информацию о местоположении в эмулятор? если вы хотите это сделать, вы можете отправить местоположение эмулятору через консоль adb и команду geo http://developer.android.com/guide/developing/tools/emulator.html#geo

я не знаю, возможно ли отправить поддельный идентификатор, но это возможно с координатами GPS, если ваше приложение слушает любого провайдера GPS

person Franco    schedule 24.11.2010
comment
GPS работает нормально, но я использую Network Location Provider, и кажется, что это невозможно проверить на эмуляторе. - person Janusz; 25.11.2010

Возможно вы можете установить UnifiedNlp провайдера сетевого расположения в эмуляторе, а затем как минимум иметь NETWORK поставщика местоположений, даже если он не предоставляет никаких данных.

Этот провайдер является модульным, поэтому, возможно², вы можете написать для него серверную часть, которая будет вставлять ваши фиктивные местоположения.

person Bowi    schedule 23.05.2019

перейдите в «Настройки эмулятора»> «Доступ к местоположению» и установите флажок «Местоположение Wi-Fi и мобильной сети».

person we3vil    schedule 15.11.2014