2012-04-06 3 views
5

NETWORK_PROVIDER는 안드로이드 버전 4.0 및 위/API 레벨 14 이상 전화 안드로이드 4.0 &에서

LocationManager.requestLocationUpdates (LocationManager.NETWORK_PROVIDER, 0, 0, 리스너)

주는 것입니다

에에서 일하지 예외 :

발생 원인 : java.lang.IllegalArgumentException : provider = network.

네트워크가 활성화 된 경우에도 동일한 예외가 발생합니다.

신고 된 문제 (http://code.google.com/p/android/issues/detail?id=19857)입니다.

내 질문입니다.

네트워크 공급자 또는 위의 다른 방법 (GPS 아님)으로 위치를 얻는 방법은 위의 Android 버전 &에 있습니까?

답변

0

런타임시 공급자 문자열이 존재한다는 보장이 없으므로 직접 공급자 문자열을 사용하지 마십시오.

LocationManager locationManager = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE); 

    Criteria criteria = new Criteria(); 
    criteria.setAccuracy(Criteria.ACCURACY_COARSE); 
    String provider = locationManager.getBestProvider(criteria, true); 

    if (provider == null) { 
     Log.e(TAG, "No location provider found!"); 
     return; 
    } 

    lastLocation = locationManager.getLastKnownLocation(provider); 
1

는 안드로이드 4.0 프레임 워크의 개방 문제가있다, 그래서 네트워크 공급자가 작동하지 않고 최신 안드로이드 버전이 그것을 해결하고 성공적으로 작업했다 :이처럼을 locationManager에서 얻을

만 사용 업체 , 최신 안드로이드 프레임 워크에서 코드를 확인하십시오.

+0

이 문제의 링크를 제공해 주시겠습니까? – ihrupin

0

예이 지원은 사용자가 확인할 수있는 최신 버전과 함께 제공됩니다 ..

관련 문제