2016-10-21 132 views
0

我正在開發一個需要GPS位置跟蹤的中國Android應用程序。 對於位置跟蹤,android需要訪問Google Play服務。但Google Play服務在中國受阻。中國的Android GPS位置跟蹤

針對此問題的任何解決方法?任何推薦的第三方庫或實施?

感謝

+1

您可以使用傳統的GPS定位收集和過濾自己。您可能已經知道這個https://developer.android.com/guide/topics/location/strategies.html – james

+0

Thanks.I使用上面的代碼來獲取中文平板電腦(華爲M2 -A01L)的位置,並且它不工作。任何想法 ? –

回答

2

你應該在LocationManager

// Acquire a reference to the system Location Manager 
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); 

// Define a listener that responds to location updates 
LocationListener locationListener = new LocationListener() { 
    public void onLocationChanged(Location location) { 
     // Called when a new location is found by the network location provider. 
     makeUseOfNewLocation(location); 
    } 

    public void onStatusChanged(String provider, int status, Bundle extras) {} 

    public void onProviderEnabled(String provider) {} 

    public void onProviderDisabled(String provider) {} 
    }; 

// Register the listener with the Location Manager to receive location updates 
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); 

使用android.location.LocationManager從系統,實現LocationListener,並調用requestLocationUpdates欲瞭解更多信息,請參閱doscthis答案。

+0

Thanks.I使用上面的代碼獲取中文平板電腦(華爲M2 -A01L)的位置,但不工作。任何想法 ? –

+0

@RaminduWeeraman,你可以得到logcat輸出嗎? –

0
  1. LocationManager,不需要Google Play服務。這 文檔提到它完美 https://developer.android.com/guide/topics/location/strategies.html
  2. BaiduLocation,似乎這是適合中國和不 有英文文檔。據我所知,微信使用這個太, http://developer.baidu.com/map/geosdk-android-developv3.3.htm

我幾乎沒有在任何BaiduLocation經驗。所有文件都是中文的。如果你看下面的鏈接,它提到了Device_Sensors,Battery_Saving,Hight_Accuracy等位置模式。也許這就是你想要的。

http://wiki.lbsyun.baidu.com/cms/androidloc/doc/v7.0/index.html

// This is simplified example from github 
// https://github.com/buqing2009/GCS_Baidu_Advance/blob/master/app/src/main/java/com/lingmutec/buqing2009/gcs_baidu_advance/BaiduMapFragment.java 
private LocationClient mLocationClient = null; 

public void requestLocationUpdates() { 
    mLocationClient = new LocationClient(getApplicationContext()); 

    LocationClientOption option = new LocationClientOption(); 
    option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy); 
    option.setOpenGps(true); 
    option.setCoorType("bd09ll"); 
    option.setScanSpan(1000); 
    mLocationClient.setLocOption(option); 

    mLocationClient.registerLocationListener(new BDLocationListener() { 
     @Override 
     public void onReceiveLocation(BDLocation location) { 

     } 
    }); 
} 
+0

謝謝,BaiduLocation是否可以獲得沒有互聯網連接的位置?就像我們可以使用谷歌播放服務(使用GPS提供商)一樣 –

+0

請看更新後的答案 – Blackkara