我正在尝试使用设备的GPS检索设备的当前位置。当我注册更新时(如下所示) LocationManager.GPS_PROVIDER 没有更新正在滚动,但是当我做同样的事情时 LocationManager.NETWORK_PROVIDER 我得到了更新。

我已经在Android设备(不是仿真器)上对其进行了测试。我还确保了GPS打开。其他应用程序(不是我的)能够访问我的位置。我在这里想念什么?

LocationListener locationListener = new LocationListener() {
    @Override
    public void onLocationChanged(Location location) {
            locationRetrieved(location, this);
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) { }

    public void onProviderDisabled(String provider) { providerDisabled(); }
};

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
有帮助吗?

解决方案

GPS启动不是即时过程。接收器基本上必须知道星座中每个GPS卫星的位置,以计算其位置

您是否首先检查是否可以使用最后一个已知位置?大多数应用程序首先检查它,然后搜索一个位置。

其他提示

您应该检查手机允许使用GPS收集位置。

可能发生的事情是在设置 - >位置您只有无线位置的复选框。如果是这样,GPS_PROVIDER不起作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top