내 앱에서는 위치 업데이트를 수신하기 위해 두 공급자를 모두 정밀하게 설정했습니다. GPS를 사용하면 위치 정보를 잘 사용할 수 있으며 네트워크 공급자가 위치 정보를 제공한다는 사실을 알고 있습니다 (이 링크 http://www.alonsoruibal.com/using-two-locationproviders-on-android/). 이제 gps가 사용 중지되면 내 앱이 네트워크로 전환되고 gps가 다시 전환 할 수있게됩니다. 이 방법은 바로 onStatusChanged
방법을 사용하여 수행 할 수 있습니까? 제 질문은이 코드가 맞습니까? 업데이트가 이미 요청하는 경우gps와 네트워크 공급자 간 전환
public static final int OUT_OF_SERVICE = 0;
public static final int TEMPORARILY_UNAVAILABLE = 1;
public static final int AVAILABLE = 2;
Criteria criteria = new Criteria();
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
criteria.setAccuracy(Criteria.ACCURACY_FINE);
providerFine = locationManager.getBestProvider(criteria, true);
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
providerCoarse = locationManager.getBestProvider(criteria, true);
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
if (provider.equals(providerFine)) {
if (status == 0) {
locationManager.requestLocationUpdates(providerCoarse, 60000,20,this);
}
if (status == 2) {
locationManager.requestLocationUpdates(providerFine, 60000, 20, this);
}
}// provider == fine
}
또한,이 onStatusChanged 방법 다시 내가 그들을 요청하는 경우가 확인 될 것이다, (두 제공자에 대한) (전에 어딘가에 내 코드에서, 나는 여기에 넣지 않았다) . 아니면 먼저 업데이트를 제거해야합니까?
감사합니다. u, 그것에 대해 궁금합니다. 감사합니다 – Sandra
@Sandra 당신이 전환 작업이 잘 작동하는지 확인해 주시겠습니까? 비슷한 작업을 수행하려고합니다. – Lenin