Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不显示GPS的位置更新_Java_Android_Gps_Location_Locationmanager - Fatal编程技术网

Java 不显示GPS的位置更新

Java 不显示GPS的位置更新,java,android,gps,location,locationmanager,Java,Android,Gps,Location,Locationmanager,我正在尝试使用设备的GPS检索设备的当前位置。当我为LocationManager.GPS\u提供程序注册更新(如下所示)时,没有更新正在滚动,但当我为LocationManager.NETWORK\u提供程序注册更新时,我会得到更新 我已经在我的Android设备上测试过了(不是模拟器)。我还确认了GPS是开着的。其他应用程序(不是我的)可以访问我的位置。我错过了什么 LocationListener locationListener = new LocationListener() {

我正在尝试使用设备的GPS检索设备的当前位置。当我为
LocationManager.GPS\u提供程序
注册更新(如下所示)时,没有更新正在滚动,但当我为
LocationManager.NETWORK\u提供程序
注册更新时,我会得到更新

我已经在我的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\U提供商就不起作用了。

我确实在考虑这个问题,但一个小时后什么也没出现。需要这么长时间吗?这可能是因为在屋顶下,在开放空间中尝试或使用默认地图应用程序检查相同的设置。我在早期阶段使用
locationManager.isProviderEnabled(locationManager.GPS\u PROVIDER)
检查了这一点,并手动检查了该设置。GPS已打开。请参见此示例,它通过服务实现,但也可用于活动。