- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 Google map 和新的 Fuse Location API 的应用程序。我使用此代码在位置更改时获取更新:
locationClient.requestLocationUpdates(new LocationRequest(),
new LocationListener() {
@Override
public void onLocationChanged(Location location) {
//Some code
}
});
我的 Galaxy Nexus 和 Android 4.3 没问题。但是,在我 friend 的 Android 4.0.4 手机 (Xperia ST21i) 中,我无法收到这些更新。
我在 Android 文档和 StackOVerflow 上的许多(如果不是全部)问题上看到使用 LocationRequest.create()
而不是 new LocationRequest()
。这个新代码在我的手机上仍然可以正常工作;我还没有在我 friend 的手机上试过。
阅读文档,我的猜测是 LocationRequest.create()
就像:
public static LocationRequest create() {
LocationRequest locationRequest= new LocationRequest();
locationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
locationRequest.setFastestInterval(aNumber);
locationRequest.setInterval(anotherNumber);
return locationRequest;
}
这两段代码有什么区别,为什么它在我的手机上有效,但在我 friend 的手机上却无效。在我 friend 的手机上更改后是否可以使用?
如果没有,我还需要做什么才能让它发挥作用?
最佳答案
实际上在许多 4.0.x 设备中存在一个问题,如果您依赖于网络级别的位置,则 OnLocationChanged
不会被正确调用。
在 AOSP Issue Tracker 发布报告很可能是你所看到的
如那里所述,基本上网络级位置从不刷新,并且由于您使用的是 LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY
,它会尽可能使用最不突兀的方法为您提供更新。我确实觉得有点奇怪,如果 GPS 和 Wifi 在该设备上也可用,你仍然得不到更新。
解决此问题的一种可能方法是将优先级更改为 LocationRequest.PRIORITY_HIGH_ACCURACY
。如果您认为该解决方案会给您的用户带来麻烦,您可以执行一些操作,例如使用 PRIORITY_HIGH_ACCURACY
创建一个新的 LocationRequest
,并且仅在您的第一种方法失败时才使用它。
特别是,我会在您首次发起位置请求时设置一个计时器,并在您的 LocationListener
中使用一个标志来指示在该时间范围内是否收到任何结果。如有必要,可以提供代码示例。
关于android - LocationRequest 和 LocationClient.requestLocationUpdates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20250220/
我在我的 Android 应用程序中使用 Google Maps Android API v2 LocationClient: http://developer.android.com/referen
您是否需要连接的 LocationClient 来检测用户是否离开了地理围栏?在我当前的代码中,我连接了 LocationClient,建立了地理围栏,然后断开了 LocationClient。然而,
我正在使用 LocationClient 来检索当前用户位置,并且我正在尝试创建一个具有距离值和更新间隔的 LocationRequest。 我的代码当前请求按更新间隔更新位置: mL
我正在使用效果很好的 LocationClient。现在我正在尝试创建模拟位置 (setMockMode(true) + setMockLocation(mockLoc)。但是我的 LocationL
所以基本上这是我的问题,我一直在关注此链接 http://developer.android.com/training/location/retrieve-current.html 而且似乎 ecli
来自GooglePlayServicesClient.ConnectionCallbacks当 LocationClient 断开连接时,应该调用 onDisconnected 文档。根据我的测试,我
我正在尝试为个人项目实现 LocationClient,不幸的是,在调用 LocationClient 的 connect() 方法时,它总是失败。我在模拟器上试过,然后在安卓设备上试过。关于 and
我正在使用 LocationClient 每分钟获取当前位置: mLocationRequest = LocationRequest.create(); mLocationRequest.setPri
我正在使用 AndroidStudio 并尝试使用 googleplayservices 进行地理编码。 我遵循了 android 教程: http://developer.android.com/g
我正在使用 google play services api 在我的应用程序中获取位置更新。但是,出于某种原因,当客户端连接时,client.getLastLocation() 不会更改其值。只有通过
我如何使用 locationclient 类和 requestLocationUpdates(LocationRequest, LocationListener) 在 android 中获取位置更新?
我正在尝试使用新的谷歌位置服务更新旧教程。我直接使用来自谷歌教程的代码,但是行 mLocationClient = new LocationClient(this,this,this);返回错误构造函
我需要知道从此方法返回的 Location 对象的更新频率以及它是基于时间、距离还是其他? 最佳答案 根据getLastLocation()文档它返回已知位置。 我认为它存储 LocationClie
自融合位置提供程序发布以来,我一直在使用它,我对它非常满意(比旧系统好得多)。但是当结合使用地理围栏和 LocationClient.lastKnownLocation() 时,我遇到了一个特殊问题。
我正在开发一个包含服务和 Activity 的应用程序。该服务使用 LocationClient 对象每分钟请求当前位置。该 Activity 使用另一个 LocationClient 对象在单击按钮
我正在尝试编写一个在后台运行并从 LocationClient (Google Map API Android V2) 接收位置更新的简单 Android 服务。问题是当屏幕关闭时,我的服务不再接收位
我正在考虑设置两个单独的警报来每小时收集用户的位置数据,一个警报每 59 分钟响一次以“连接”客户端,另一个警报实际获取位置然后断开客户端连接。 就电池生命周期而言,如果获取用户位置将成为应用程序的主
我正在使用新的 Google LocationClient 来检索地理位置。我需要获得每个点(位置)的速度。 我现在正在做的是: if (mLocationClient == null) {
是否可以使用 GooglePlayServices 或 LocationClient? 最佳答案 我想我来不及回答这个问题了。但没关系。因此,借助新的 API LocationSettingsRequ
更新到 Google Play 服务 6.5.87 后,我的应用由于缺少 LocationCLient 类而无法编译。 documentation link目前已损坏(404 Not Found) 我
我是一名优秀的程序员,十分优秀!