Код: Выделить всё
fun setupMockLocationApp() {
val packageName = InstrumentationRegistry.getInstrumentation().targetContext.packageName
val uiAutomation = InstrumentationRegistry.getInstrumentation().uiAutomation
uiAutomation.executeShellCommand("appops set $packageName android:mock_location allow")
}
fun setMockLocationFused(lat: Double, lng: Double, accuracy: Float = 3F) {
val context = InstrumentationRegistry.getInstrumentation().targetContext
val fusedLocationClient: FusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(context)
Tasks.await(fusedLocationClient.setMockMode(true))
val location = Location(LocationManager.GPS_PROVIDER).apply {
this.latitude = lat
this.longitude = lng
this.accuracy = accuracy
this.time = System.currentTimeMillis()
}
Tasks.await(fusedLocationClient.setMockLocation(location))
}
Код: Выделить всё
@Before
fun setUp() {
setupMockLocationApp()
setMockLocationFused(lat, lng)
}
Что может быть причиной этой проблемы и как я могу это исправить? что высмеиваемое местоположение отображается на Картах Google?
Подробнее здесь: https://stackoverflow.com/questions/793 ... -on-androi