美文网首页
android獲取經緯度以及監聽位置變化

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

作者: 奶酪师 | 来源:发表于2018-04-02 17:38 被阅读0次

獲取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重開還是上一個地點的經緯度(能否有大神告知我原因)導致位置出錯

相关文章

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

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

  • 【分享】2017 下半年目標

    商業分析之路 近年來互聯網和社交媒體普及, 獲取交易訊息的渠道多樣化,市場快速蛻變,導致傳統經驗可靠度下降。如何將...

  • App 跳轉內建 Map App

    已知單一位置經緯度 已知單一位置地址 兩點路徑規劃

  • PMP之第六章项目时间管理(5)-進度控制

    6.5進度控制 進度控制關注: a)對造成進度變化的因素施加影響,確保變化得到各方認可; b)查明進度是否已經改變...

  • 第十天的功課

    四、五年沒回員林了,今天突然經過車站時,突然有些感傷,常常聽人說,人是以非景物依舊,但現在的變化太快了,曾經這裡是...

  • 關鍵詞

    有些經歷會讓某些字眼變得無比敏感。 比如說: Tango 地震 竊聽風雲 正 Sir 樂譜 ......

  • 經變

    不要把事情看的那麼嚴重,也不要不在意!保有平穩的心態,該怎樣就怎樣,痛苦與掙扎,反抗與斗爭都不是必要選擇。而要明其...

  • 我的世界太過安靜

    慈愛、同情永遠是人道的經緯,理性是南針。

  • 26泰格新概念之庫伯學習圈

    什麼是庫伯學習圈? 一:學習的起點或知識的獲取首先是來自人們的經驗(experience),這種經驗可以是直接經驗...

  • ADDM-小記

    --ADDM報告中獲得存在問題的SQL語句優化建議:--手工獲取ADDM報告:sql>@?/rdbms/admin...

网友评论

      本文标题:android獲取經緯度以及監聽位置變化

      本文链接:https://www.haomeiwen.com/subject/znuxhftx.html