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

时间:2015-07-24 09:15:39

标签: android gps geolocation locationlistener

我创建了一个应用程序来检测位置并重定向到相应的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 个答案:

答案 0 :(得分:1)

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