Я считаю, что то, чего вы хотите достичь, в данный момент невозможно. Вы не можете поместить фиктивные данные о местоположении поставщику сетевых расположений эмулятора.
«Предоставление данных о ложном местоположении вводится как данные о местоположении GPS, поэтому вы должны запросить обновления местоположения у GPS_PROVIDER, чтобы данные о ложном местоположении работали»
(Цитата из Android, Документация, Предоставление ложных данных о местоположении )
Самое близкое, что я могу придумать, - это создать «Провайдера тестов» из Location Manager
public void addTestProvider (String name, boolean requiresNetwork, boolean requiresSatellite, boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude, boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy)
и установите аргументы требует сеть , требует ячейка и требует спутник соответственно. Тогда вы можете из фальшивых мест поставить этому провайдеру:
public void setTestProviderLocation (String provider, Location loc)
Это близко, но не совсем то, что вы просили.