2

在这个线程中,MSohm 说“GPS 服务选项不会打开或关闭 GPS”。这意味着如果一个设备有一个内置的 GPS 接收器,那么像这样的代码

LocationProvider provider = LocationProvider.getInstance(null);

无论 GPS 服务选项如何,都不应返回null 。

但是,如果我在 Curve 8310 (4.5.0) 和 Storm 9530 (4.7.0) 模拟器(两者都有内置 GPS 接收器)上尝试上述代码,那么如果 GPS Services 选项设置为 Location OFF ,我会得到null。如果我将 GPS Services 选项更改为 Location ON,那么我会得到一个非空的 LocationProvider ,然后我就可以得到 locatoin 等。

这是模拟器的错误吗?谁能说这将如何在真实设备上工作?

更新:

我刚刚得到了真实设备(Storm)上的测试结果。令人惊讶的是,真实设备的行为与我在模拟器上得到的相同。我很困惑。MSohm 说“GPS 服务选项不会打开或关闭 GPS”,但看起来它确实可以打开/关闭 GPS。任何人都可以发表任何意见吗?

4

1 回答 1

1

我的经验告诉我,这不是错误

您实际上可以在 GPS 选项下的 Blackberry 选项中打开和关闭位置。

我建议的是,在声明 LocationProvider 检查它是否为空之后。如果它为空,则向用户发送一条消息,告诉他 GPS 位置已关闭,他必须先将其打开才能使用 GPS。

您还可以告诉他在哪里更改此设置。

你在真实设备上会得到相同的行为,所以我认为这是最好的方法。

我在曲线 8530 上对此进行了测试。

请记住,在运行模拟器时,您必须在模拟器的窗口菜单中启用 GPS,这可能是您在模拟器中获得空 LocationProvier 的原因

于 2010-08-17T18:14:44.613 回答