【问题标题】:GPS_PROVIDER Error in Android ApplicationAndroid 应用程序中的 GPS_PROVIDER 错误
【发布时间】:2012-10-11 06:10:17
【问题描述】:

我创建了一个 Android 应用来检索位置。我尝试使用 GPS_PROVIDER,它返回 null .. 但是当我使用 NETWORK_PROVIDER 时工作顺利.. 任何人都可以帮我解决这个问题吗?

这里是代码

位置位置 = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

当我将"NETWORK_PROVIDER" 替换为"GPS_PROVIDER" 时,位置变为空。

我在manifest中添加了以下三个权限

<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"/>

【问题讨论】:

  • 你的清单文件是什么样的?
  • 我在 manifest 中添加了以下三个权限
  • 您的设备必须通过 WiFi 连接,这就是它与 NETWORK_PROVIDER 配合使用的原因
  • 另外,添加这个基本权限&lt;uses-permission android:name="android.permission.ACCESS_GPS"&gt;&lt;/uses-permission&gt;
  • @Lucifer ACCESS_GPS 不再使用。据了解,那是在 1.0 之前

标签: android android-location


【解决方案1】:

您的 GPS 位置为空可能有两个原因

  1. 可能是您的 GPS 未激活。尝试通过setting menu =&gt; Location &amp; Security =&gt; Check Use GPS Satellites 激活您的 GPS。
  2. 可能您目前在 GPS 不工作的建筑物中。从大楼里出来检查一下。大部分时间都可能发生这种情况。

【讨论】:

  • +1 是的,同意你的看法,请在第一个选项中显示完整的设置路径,这对像 OP 这样的新用户很有用。:)
【解决方案2】:

根据documentation

如果提供者当前被禁用,则返回 null。

确保您的 GPS 在设备上处于活动状态,这样您就不会收到 null。

编辑:
还可以尝试使用GPS_PROVIDER 运行requestLocationUpdates() 或者两次,同时使用NETWORK_PROVIDERLocationManager 以最快的方式检索位置并停止搜索。由于 GPS 位置的检索速度比网络位置慢,因此在找到它后立即停止,因此为 GPS 返回 null。

【讨论】:

  • NETWORK_PROVIDER 未链接到 GPS。
  • GPS 已启用并且在我的建筑物内工作正常.. 我添加了 。仍然无法正常工作:(
  • @BalaKrishna 我已经编辑了答案。此外,ACCESS_GPS 已不再使用,因此您可以将其从清单文件中删除。
【解决方案3】:

当我将“NETWORK_PROVIDER”替换为 “GPS_PROVIDER”

要解决此问题,请务必启用定位服务

记住文档:

如果提供程序当前被禁用,则返回 null。

作为一个选项,如果 GPS 被禁用,您可以同时使用这两个提供商,然后检查网络提供商:

...
 myLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
 if(myLocation == null) {
            myLocation = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
 }

    if(myLocation != null) {
         //Get values for latitude and longitude!
    }
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多