在这个线程中,MSohm说“GPS服务选项不打开或关闭GPS”。这意味着,如果设备有内置的GPS接收器,则代码如下
LocationProvider provider = LocationProvider.getInstance(null);无论GPS服务选项如何,都不应该返回空。
但是,如果我在曲线8310 (4.5.0)和Storm 9530 (4.7.0)模拟器(都有内置的GPS接收器)上尝试上述代码,那么如果将服务选项设置为OFF,则会得到空。如果我将GPS服务选项更改为在上定位,那么我将得到一个非空的LocationProvider,然后我能够得到locatoin,等等。
这是模拟器的错误吗?有人能说这在真正的设备上是如何工作的吗?
更新:
我刚刚得到了在真实设备(Storm)上测试的结果。令人惊讶的是,真实的设备行为和我在模拟器上看到的一样。我很困惑。MSohm说“全球定位系统服务选项不会打开或关闭全球定位系统”,但看起来它确实会打开/关闭全球定位系统。有人能对此发表意见吗?
发布于 2010-08-17 18:14:44
我的经验告诉我这不是虫子
你实际上可以在黑莓选项下切换位置,在GPS选项下。
我建议的是,在声明LocationProvider之后,检查它是否为null。如果它是空的,发送一个信息给用户,告诉他GPS位置是关闭的,他必须先打开它才能使用GPS。
您还可以告诉他在哪里更改此设置。
你在真正的设备上也有同样的行为,所以我认为这是最好的方法。
我在曲线8530上测试了这个。
请记住,在运行模拟器时,必须在模拟器的窗口菜单中启用GPS,这可能是在模拟器中获得空LocationProvier的原因
https://stackoverflow.com/questions/3431775
复制相似问题