2011-03-18 5 views
0

Java ME 앱에서 LocationProvider.getInstance (null)은 항상 에뮬레이터에서 null을 반환합니다.LocationProvider.getInstance()는 항상 null을 반환합니다.

앱이 초기 상태이므로 실제 전화로 시도하지 않았습니다.

저는 위치 API에 관한 모든 기사를 읽었지만, 아직 이해가 안되는데, 왜 저에게 일어나는 것입니까?

같은 프로젝트에서 동일한 에뮬레이터에서 동일한 설정으로 제대로 작동합니다. DefaultCLDCPhone01에

if(currentLp == null) 
{ 
    try 
    { 
     System.err.println("nope"); 
     currentLp = LocationProvider.getInstance(null); 
    } catch (LocationException ex) 
    { 
      System.err.println("Ooops!"); 
    } 
} 

CLDC-1.1, MIDP-2.1, Location API 1.0SDK3.0

+0

어떤 에뮬레이터를 사용하고 있습니까? 실제로 LocationProvider를 제공합니까? 어떤 "다른 프로젝트"가 "잘 작동"합니까? 에뮬레이터 설치시 개인적으로이 프로젝트를 실행하고 작동하는 것을 보았습니까? – funkybro

+0

필자는 DeafultCLDCPhone01을 사용합니다. 제공하지 않으면 JSR293에 따라 예외가 발생합니다. 그리고 업데이트 - CalmshellCldcPhone에서 작업을 시작합니다. 다른 프로젝트에서는 DefaultCLDCPhone을 사용하지 않습니다. –

답변

0

CLDC-1.1, MIDP 2.1, 위치 API 1.0에서 DefaultCLDCPhone01에 SDK3.0

에서 : 여기

코드입니다 LAPI 1.0 - JSR 179. 이 버전 사양에서 LocationProvider.getInstance은 "정의 된 기준을 충족하는 LocationProvider를 반환 할 수 없지만 기준을 충족하지 못하는 다른 지원되는 공급자 또는 일시적으로 사용할 수없는 공급자가있는 경우 null을 반환합니다."

...가 제공하지 않는 경우, 그것은 JSR293을 죄송합니다

JSR293

에 따라 예외를 던질 것인가? LAPI가 2.0이 아니라 1.0입니다. 그것이 무엇이든간에, 당신이 썼을 때 이전 버전의 사양을 지원하기 때문에 당신의 사건과 아무 관련이 없습니다. 귀하의 경우 기대할 수있는 것은 JSR 179입니다. DefaultCLDCPhone을 사용하면 JSR 293을 지원할 수 있습니다 (에뮬레이터 사용 설명서에 있음)