- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 FusedLocationProviderApi
获取模拟更新,但我似乎无法让它工作。这是我在 android 仪器测试中的设置方法:
locationProvider = new LocationProvider(InstrumentationRegistry.getTargetContext().getApplicationContext(), settings);
// Connect first, so that we don't receive 'true' location
locationProvider.googleApiClient.blockingConnect();
// Set mock mode, to receive only mock locations
LocationServices.FusedLocationApi.setMockMode(locationProvider.googleApiClient, true);
InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
// Start receiving locations; this call will connect api client, and if it's already connected (or after it connects) it will register for location updates
locationProvider.start();
}
});
// wait until we can request location updates
while (!locationProvider.isReceivingLocationUpdates) {
Thread.sleep(10);
}
LocationServices.fusedLocationApi.setMockLocation(apiClient, location)
设置我的听众将收到的模拟位置。不幸的是,情况并非如此,听众保持沉默。
private void setMockLocation(final Location location) throws Exception {
assertTrue(locationProvider.googleApiClient.isConnected());
assertTrue(locationProvider.isReceivingLocationUpdates);
final CountDownLatch countDownLatch = new CountDownLatch(1);
LocationServices.FusedLocationApi.setMockMode(locationProvider.googleApiClient, true)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
assertTrue(status.isSuccess());
LocationServices.FusedLocationApi.setMockLocation(locationProvider.googleApiClient, location)
.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
assertTrue(status.isSuccess());
countDownLatch.countDown();
}
});
}
});
assertTrue(countDownLatch.await(500, TimeUnit.MILLISECONDS));
}
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
最佳答案
这是我们更新的 kotlin 版本。请注意,您需要在开发选项中选择应用程序作为模拟位置提供程序,并有权在调试 list 文件中进行设置。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"
tools:ignore="ProtectedPermissions" />
</manifest>
private lateinit var fusedLocationClient: FusedLocationProviderClient
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
fusedLocationClient.setMockMode(BuildConfig.DEBUG)
fusedLocationClient.lastLocation
.addOnSuccessListener { location : android.location.Location? ->
// Got last known location. In some rare situations this can be null.
Toast.makeText(this, location.toString(), Toast.LENGTH_SHORT).show()
}
.addOnFailureListener { Toast.makeText(this, "failed", Toast.LENGTH_SHORT).show() }
private fun setMockLocation(location: android.location.Location) {
fusedLocationClient.setMockLocation(location)
.addOnSuccessListener { Log.d(TAG, "location mocked") }
.addOnFailureListener { Log.d(TAG, "mock failed") }
}
关于android - 在 FusedLocationProviderApi 中设置模拟位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32316694/
我不希望我的应用程序依赖于 Google API。是否有任何 FusedLocationProviderApi 的开源替代品允许结合标准 GPS 和网络供应商? 最佳答案 我可能会迟到,但对于任何提出
我正在尝试从 FusedLocationProviderApi 获取模拟更新,但我似乎无法让它工作。这是我在 android 仪器测试中的设置方法: locationProvider = new Lo
我正在尝试关注 Android Receiving Location Updates教程。示例代码是here on Github . 除此行外,一切正常: LocationServices.Fused
除此行外一切正常:LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest
我有一个 LocationReceiver,它使用 FusedLocationProviderApi.KEY_LOCATION_CHANGED 从 Intent 中提取一个 Location。但是现在
我正在尝试使用 FusedLocationProviderApi 在我的平板电脑上获取位置数据,但每当我启动该应用程序时,我都会收到错误 E/MainActivity:连接失败:ConnectionR
我想问 FusedLocationProviderApi 中的 getLastLocation() 是否以 HIGH_ACCURACCY 获取位置? 当我阅读 documentation ,它说: p
我正在尝试通过 Google 的 FusedLocationProviderApi 订阅位置更新。我想在后台接收更新,这样即使应用程序被杀死我也会收到更新。尽我所能遵循在线文档,我编写了以下代码。注意
早些时候我使用 LocationManager 获取用户当前位置: LocationManager locationManager = (LocationManager) getActivity().
我有以下 LocationService.java 服务类。 public class LocationService extends Service implements Locat
直接使用 LocationManager 的数据收集应用已更新为使用 FusedLocationProviderApi。使用 LocationManager,大多数设备在收集位置时可以快速报告 5 米
Here谷歌说: The Google Play services location APIs are preferred over the Android framework location AP
我是一名优秀的程序员,十分优秀!