LocationProvider.getInstance()始终返回null

时间:2011-03-18 07:32:46

标签: java java-me midp cldc

在我的Java ME应用程序中,LocationProvider.getInstance(null)总是在模拟器中返回null。

应用程序处于早期状态,所以我没有试过真正的手机。

我相信,我阅读了有关Location API的所有文章,但我仍然没有理解,为什么它会发生在我身上。

它在不同的项目中工作正常,在同一模拟器上使用相同的设置。

以下是代码:

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.0

的DefaultCLDCPhone01上的

SDK3.0

1 个答案:

答案 0 :(得分:0)

  

CLDC-1.1,MIDP-2.1,来自SDK3.0的DefaultCLDCPhone01上的位置API 1.0

LAPI 1.0 - JSR 179。在此版本规范中,LocationProvider.getInstance返回null“如果无法返回满足定义条件的LocationProvider,但有其他支持的可用或暂时不可用的提供程序不符合条件。”

  

......根据JSR293

,如果它没有提供,它将抛出异常

oops JSR293?这是LAPI 2.0而非1.0。无论它指定什么,它都与您的案例无关,因为在您编写时,它支持早期版本规范。对于您的情况,请使用JSR 179.或者配置 DefaultCLDCPhone 以支持JSR 293(如果可能的话)(应该在模拟器用户指南中)