簡體   English   中英

如何在Android 7中獲取當前位置?

[英]How to get current location in android 7?

我試圖在android M或更低版本上使用時在android中獲取當前位置,並且確定,但是當我在android N上運行我的應用程序時,位置為null,並且當我想從中獲取緯度時將返回0。是我的代碼

 try {

            if (!isGPSEnabled && !isNetworkEnabled) {
             } else {
                this.canGetLocation = true;
                 if (isNetworkEnabled) {
                    locationManager.requestLocationUpdates(
                            LocationManager.NETWORK_PROVIDER,
                            MIN_TIME_BW_UPDATES,
                            MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                    Log.d("Network", "Network");
                    if (locationManager != null) {
                        location = locationManager
                                .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                        if (location != null) {
                            latitude = location.getLatitude();
                            longitude = location.getLongitude();
                        }
                    }
                }
                 if (isGPSEnabled) {
                    if (location == null) {
                        locationManager.requestLocationUpdates(
                                LocationManager.GPS_PROVIDER,
                                MIN_TIME_BW_UPDATES,
                                MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                        Log.d("GPS Enabled", "GPS Enabled");
                        if (locationManager != null) {
                            location = locationManager
                                    .getLastKnownLocation(LocationManager.GPS_PROVIDER);
                            if (location != null) {
                                latitude = location.getLatitude();
                                longitude = location.getLongitude();
                            }
                        }
                    }
                }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }

和我在android M或更低版本上使用時的確定

不它不是。 在所有版本的Android上, getLastKnownLocation()經常返回null

getLastKnownLocation()是一種優化。 使用它,但是准備onLocationChanged() getLastKnownLocation()返回null或過期值時依賴於onLocationChanged()

文檔 ,以及有關Android應用程序開發的書籍和課程都對此進行了介紹

要獲得最后的已知位置,您只需致電

mLocationClient.getLastLocation(); 連接定位服務后。

閱讀如何使用新的位置API

http://developer.android.com/training/location/retrieve-current.html#GetLocation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM