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

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

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

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

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

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

И задайте аргументы requireNetwork , requireCell и requireSatellite соответственно. Затем вы можете помещать поддельные местоположения этому провайдеру:

 public void setTestProviderLocation (String provider, Location loc) 

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

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

Я не знаю, можно ли отправлять фальшивую клетку, но ее возможно с помощью gps-координат, если ваше приложение прослушивает любого поставщика gps

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