获取位置android?

我想每隔一段时间都会收到位置更新,所以我编写了这段代码:

     public void registerListener() {

            if (ActivityCompat.checkSelfPermission(c, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(c, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            } else {
                lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10, locationListener);
            }
        }
        private final LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location location) {

                 longitude = location.getLongitude();
                 latitude = location.getLatitude();

                Log.v(TAG, ""+longitude + "                       " +latitude);

            }
@Override
        public void onStatusChanged(String provider, int status, Bundle extras) {} 
        @Override
        public void onProviderEnabled(String provider) {} 
        @Override
        public void onProviderDisabled(String provider) {}
    };

我从其他地方调用registerListener() 。 问题是,我的位置更新只被调用一次,而我只获取一次该日志。 此外,日志只调用registerListener约5-10秒才会出现。

缓慢的原因是什么,为什么不更新位置?

谢谢,

Ruchir


您正在请求GPS位置。 第一次获得卫星锁将需要几秒钟的时间。 如果你不能接收到信号锁(室内的某些建筑物,地下太远,像松散天线一样对手机造成物理损坏(早期三星通用)),它可能永远不会发生。

至于没有再接收它 - 除非你移动至少10米,否则你不会再收到它。 将其更改为0,并且每秒都会看到它。

链接地址: http://www.djcxy.com/p/90665.html

上一篇: Getting location android?

下一篇: What is the simplest and most robust way to get the user's current location on Android?