android獲取經緯度以及監聽位置變化

獲取android手機系統定位經緯度(可以的話,用百度,高德之類的sdk比較好)0.0

private Location location;
private LocationManager locationManager;

//獲取經緯度,自動選擇最精確經緯度
public Location getLastKnownLocation() {
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        List<String> providers = locationManager.getProviders(true);
        Location bestLocation = null;
        for (String provider : providers) {
            location = null;
            if (ContextCompat.checkSelfPermission(mContext, android.Manifest.permission.ACCESS_FINE_LOCATION ) == PackageManager.PERMISSION_GRANTED &&
                    ContextCompat.checkSelfPermission(mContext, android.Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
                location = locationManager.getLastKnownLocation(provider);
                locationManager.requestLocationUpdates(provider, 0, 2, locationListener);
            }

            if (location == null) {
                continue;
            }
            if (bestLocation == null
                    || location.getAccuracy() < bestLocation.getAccuracy()) {

                bestLocation = location;
            }
        }
        if (bestLocation == null) {
            return null;
        }
        return bestLocation;
    }

   LocationListener locationListener = new LocationListener() {
       @Override
       public void onLocationChanged(Location location) {
           //位置變化監聽
           MainActivity.this.location = location;
       }

       @Override
       public void onStatusChanged(String s, int i, Bundle bundle) {

       }

       @Override
       public void onProviderEnabled(String s) {

       }

       @Override
       public void onProviderDisabled(String s) {

       }
   };
 @Override
    protected void onDestroy() {
        super.onDestroy();
        //移除位置監聽
        if (locationManager != null) {
            locationManager.removeUpdates(locationListener);
        }
    }

最好監聽位置變化,以獲取經緯度,不然的話獲取的經緯度不是最新的,app重開還是上一個地點的經緯度(能否有大神告知我原因)導致位置出錯

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容