android - Fusion Location Provider API 声称,位置更新在室内不起作用

标签 android api location location-provider

问题:

如 Fusion Location Provider API 所声称的,位置更新在室内不起作用。

发生了什么:

  1. 我尝试在我的 Android 应用程序中使用 LocationClient 实现最新的位置 API 以获取位置更新。
  2. 我的 Android 应用在户外测试时运行良好,没有任何问题。
  3. 但是在室内(任何建筑物内)进行测试时,不会发生任何位置更新。

预期行为:

根据新的 API,我希望在室内时获得建筑物周围的一些估计位置(因为 GPS 无法找到用于准确定位的卫星信号)。

我看到最新的 Google Maps android 应用程序在室内使用估计位置时工作正常。

问题:

使用新的位置 API 在室内获取位置更新还需要注意什么(不需要精确位置,低精度也可以)。

我正在使用 Android 4.2.2 版本 API 实现 Android 应用程序。我正在 HTC One X(OS v 4.1.1)上进行测试

下面是我应用的使用新 API 获取位置更新的 android 代码:

第一步:

mLocationClient = new LocationClient(this, this, this);

第二步:

// Create the LocationRequest object
mLocationRequest = LocationRequest.create();
// Use high accuracy
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
// Set the update interval to 5 seconds
mLocationRequest.setInterval(UPDATE_INTERVAL);
// Set the fastest update interval to 1 second
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);

第 3 步:在 onStart() 方法内 - 添加下一行:

// Connect the client.
mLocationClient.connect();

第 4 步:在 onConnected() 方法内 - 添加下一行:

mLocationClient.requestLocationUpdates(mLocationRequest, this);

第 5 步:在 onLocationChanged() 方法内 - 监听位置更新。测试内部时不会调用此方法。只有在找到 GPS 信号时才会调用此方法。

double lat = location.getLatitude();
double lng = location.getLongitude();

最后在 Android Manifest 中添加以下权限:

 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

最佳答案

根据您的代码 fragment ,我认为您的代码可以很好地接收室内位置信息。

尝试在您的应用程序请求位置并且您在室内时进行转储(期望接收位置但没有): adb shell dumpsys Activity 服务 com.google.android.location.internal.GoogleLocationManagerService

你能在这里发布输出吗?

您能否仔细检查设置->WiFi 是否已启用,以及设置->位置访问->Wi-Fi 和移动网络位置是否已启用(室内定位都需要这两项)。

你的手机有sim卡吗?当 wifi 不可用时,这将允许手机信号塔派生位置。

最后您说 Google map 会为您提供同一建筑物的室内位置。精度圆的大致大小是多少(即接近 20 米还是 100 米)?

关于android - Fusion Location Provider API 声称,位置更新在室内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16801843/

相关文章:

java - 使用 Java 通过 API 查询 Azure SQL DB

java - 不使用maven或gradle安装框架

api - 如何使用服务与 Panoramio API 交互?

swift - 为什么 LocationManager 会多次调用 startUpdatingLocation?

javascript - 使用多个链接放大位置的传单

autocomplete - 谷歌地方 API : Is the option to switch off location biasing been removed from auto complete API?

android - 回到 Activity 时 ActionBar 恢复为空

Android JobInfo builder periodiy daily

Android 短信捕获

android - 从按钮突出显示 ListView 中的项目