0

在我的 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

4

1 回答 1

0

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

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

...如果它不提供,它将抛出异常,根据 JSR293

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

于 2011-08-27T21:24:52.310 回答