在 Android 中使用 GPS 检测位置需要很长时间

Posted

技术标签:

【中文标题】在 Android 中使用 GPS 检测位置需要很长时间【英文标题】:Detecting the location using GPS in Android takes much time 【发布时间】:2015-07-24 09:15:38 【问题描述】:

我创建了一个应用程序,它检测位置并重定向到相应的 wiki 页面进行阅读。 我的编码工作正常并且检测正确,但是读取我们当前的位置并显示需要很长时间。 有什么方法可以很快检测出来并显示?

我们将不胜感激。 我的编码如下

private class LocationTrack implements LocationListener 
    @Override
    public void onLocationChanged(Location loc) 
        String counName=null;
        String cityName=null;
        String localityName=null;
        Double lat=loc.getLatitude();
        Double lon=loc.getLongitude();
        Geocoder gcd = new Geocoder(getBaseContext(),Locale.getDefault());
        try 
            List<Address> addresses=gcd.getFromLocation(lat, lon, 1);
            Address obj=addresses.get(0);
            localityName=obj.getLocality();
            counName=obj.getCountryName();
            cityName=obj.getAdminArea();
         catch (IOException e) 
            e.printStackTrace();
        
        t1.setText(localityName+","+counName+","+cityName);
        t2.setText(lat+"/"+lon);
        click.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View v) 
                browser.loadUrl(url);
            
        );
        pb.setVisibility(View.INVISIBLE);

【问题讨论】:

【参考方案1】:

GPS冷启动,获取位置需要时间。 更好的方法是获取最后一个已知位置。 如果您认为不需要实时位置,那么最好使用它。

【讨论】:

如果位置没有改变,如何添加代码,使用最后一个位置?如何在代码中使用“getLastKnownLocation”? 是的,这将返回最后一个已知位置,并在其他应用使用 GPS 访问该位置时更新。

以上是关于在 Android 中使用 GPS 检测位置需要很长时间的主要内容,如果未能解决你的问题,请参考以下文章

禁用后虚假 GPS 位置仍然存在

IOS/Android GPS Spoofing预防

Android - 获得 GPS 信号需要很长时间。如何实现一个好的 GPS 提供商?

在 Android 中同时使用 GPS 和 Network Provider

Android Google Map如何检查gps位置是否在圈内

在 GPS 芯片长时间处于活动状态后,Android 设备需要重启/重启才能获取 GPS 位置