9

퓨즈 위치 공급자를 사용하여 응용 프로그램을 개발하고 있습니다. 나는 의심 스럽다. 일정한 간격으로 위치를 얻으려면 requestLocationUpdates()를 사용합니다. 그러나 어느 출처로부터 WIFI 또는 GPS 또는 네트워크 중 하나를 얻을 수 있습니다. 내 앱에서는 Wi-Fi가 켜져있을 때만 일정한 간격으로 위치 정보를 가져옵니다. WiFi가 꺼짐 상태 일 때 위치를 얻을 수 없습니다 (GPS 또는 네트워크를 통해 다른 위치에서 위치 정보를 가져 오는 것으로 가정합니다.) 그러나 위치 정보를 얻지 못하거나 GPS 및 네트워크 용 수신기를 작성해야합니다. 나는 그 문제가 뭔지 모른다. 누구든지 나를 도와 줄 수 있어요.퓨전 위치 공급자에서 안드로이드

그리고 모든 공급 업체 (Wi-Fi, GPS, 네트워크)를 사용할 수있을 때만 작동하는지 여부.

public void checkPlay(){ 

    int resp = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 
    if (resp == ConnectionResult.SUCCESS) { 
     locationClient = new LocationClient(this, this, this); 
     locationClient.connect(); 
    } else { 
     Toast.makeText(this, "Google Play Service Error " + resp, 
       Toast.LENGTH_LONG).show(); 

    } 
} 


public void onConnected(Bundle arg0) { 
    // TODO Auto-generated method stub 


    if (locationClient != null && locationClient.isConnected()) { 

     locationRequest = LocationRequest.create(); 
     locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 
     locationRequest.setInterval(100); 
     locationClient.requestLocationUpdates(locationRequest, this); 

    } 
} 

     public void onLocationChanged(Location location) { 
    // TODO Auto-generated method stub 
    try { 
     if (location != null) { 
      lat = location.getLatitude(); 
          long = location.getLongitude(); 
     } 
    } catch (Exception e) { 
     Log.d(Fots.TAG, 
       "GpsTrackService.mGpsLocationListener.onLocationChanged", e); 

    }  
} 
+0

http://wptrafficanalyzer.in/blog/gps-and-google-map-in-android-applications-series/ – Aravin

+0

위치 업데이트를 테스트하려면 어떻게해야합니까? –

+0

twntee .. 나는 서비스에서 onLocationChanged()를 작성합니다. 앱에 로그인하면 서비스가 시작되어 1 분마다 서비스가 실행되고 'locationRequest.setPriority (LocationRequest.PRIORITY_HIGH_ACCURACY);'를 사용하여 매 5 초마다 위치 업데이트를받습니다. – Raja45

답변

2

당신이 당신의 예에서와 같이 PRIORITY_HIGH_ACCURACY를 사용하는 경우 가능한 모든 소스 (와이파이, 휴대폰, GPS, 내부 센서)를 사용합니다. Wi-Fi를 끄고 실내에있을 경우 GPS 잠금 장치를 사용할 수 없습니다 (일반적으로 창문 가까이있을 때 일부 지역을 제외하고는 gps가 실내에서 작동하지 않음). Wi-Fi, 셀 및 GPS를 사용할 수없는 경우 (설정에서 사용 중지되었거나 특정 위치에서 사용할 수 없기 때문에) 위치를 반환하지 않습니다 (내부 센서만으로는 충분하지 않습니다. 처음부터 위치).

2

실내에있는 경우 GPS가 작동하지 않을 수 있습니다. 그래서 그것은 wifi/triangulation으로 돌아갈 것입니다.

6

융합 API는 3 개의 위치 제공자를 제공합니다.

  1. HIGH_ACCURACY
  2. BALANCED_POWER
  3. NO_POWER

HIGH_ACCURACY 모드, 모든 위치 제공자를 사용하지만, 위치 제공 업체와 함께 GPS를 위치 제공 업체의 우선 순위를 정하고 있습니다. 위치 정확도는 대략 10 미터 이내입니다.

BALANCED_POWER 모드는 위치 제공 업체 목록에 GPS를 제외하고 셀 타워, Wi-Fi 등을 기반으로하는 다른 제공 업체를 사용합니다.이 경우 위치 정확도는 약 40 미터입니다.

NO_POWER는 위치 공급자를 사용하지 않고 대신 다른 앱에서 위치를 가져 오는 수동 모드입니다. 정확도는 1 마일 이상일 수 있습니다. 최근 다른 응용 프로그램에서 가져 오는 위치 만 기반으로합니다.