亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

getLastKnownLocation返回null

getLastKnownLocation返回null

慕勒3428872 2019-10-09 16:25:37
我已經閱讀了有關此問題的一些問題,但并沒有找到我需要的答案。因此,情況是我已經設置了地圖,并且想要獲取當前的GPS位置。我檢查過我的變量不是NULL,但是我的結果是:getLastKnownLocation(provider, false);雖然給我null,所以這是我需要幫助的地方。我已經添加了對COARSE + FINE位置的權限。但是我通常會禁用手機的各種網絡數據,因為我對手機賬單中不可預測的數據流費用感到不滿意。因此,此測試僅啟用并連接了WiFi。為了使之成為可能,我還需要啟用更多功能嗎?我認為WiFi應該足夠了嗎?
查看完整描述

3 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

使用此方法獲取最近的已知位置:


LocationManager mLocationManager;

Location myLocation = getLastKnownLocation();


private Location getLastKnownLocation() {

    mLocationManager = (LocationManager)getApplicationContext().getSystemService(LOCATION_SERVICE);

    List<String> providers = mLocationManager.getProviders(true);

    Location bestLocation = null;

    for (String provider : providers) {

        Location l = mLocationManager.getLastKnownLocation(provider);

        if (l == null) {

            continue;

        }

        if (bestLocation == null || l.getAccuracy() < bestLocation.getAccuracy()) {

            // Found best last known location: %s", l);

            bestLocation = l;

        }

    }

    return bestLocation;

}


查看完整回答
反對 回復 2019-10-09
?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

試試這個對我有用:-


LocationManager mLocationManager;

Location myLocation = getLastKnownLocation();


        private Location getLastKnownLocation() {

            Location oldLoc;

            while (true){

                oldLoc = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

                if (oldLoc == null){

                    continue;

                }

                else {

                    break;

                }

            }

            return oldLoc;

        }

您可以使用NETWORK_PROVIDER代替GPS_PROVIDER以獲得更快的結果。

查看完整回答
反對 回復 2019-10-09
  • 3 回答
  • 0 關注
  • 616 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號