如何检查GPS传感器的presence? [英] How to check for the presence of a GPS sensor?

查看:106
本文介绍了如何检查GPS传感器的presence?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在写一个,将返回true,如果有一个GPS传感器present并启用,但如果它不存在或已关闭返回false方法。它证明​​很难,因为...

I'm writing a method that will return true if there's a GPS sensor present and enabled, but returns false if it's absent or switched off. It's proving hard because...

hasSystemFeature("FEATURE_LOCATION_GPS")  // on PackageManager

,则返回假,该设备是否具有GPS或没有。因此,即使在有一个,它开启的设备,它仍然返回false。似乎完全错了给我,但我不明白为什么。

Returns false, whether the device has a GPS or not. So even on a device that has one, and it's switched on, it still returns false. Seems completely wrong to me, but I can't see why.

isProviderEnabled("gps")   // on LocationManager

返回true,即使在一个设备,我这里有没有GPS硬件的。这也似乎完全反直觉的。

Returns true, even on a device I have here that has no GPS hardware at all. That also seems completely counter-intuitive.

我接受这些结果可能是因为我失去了一些东西,该SDK是不直观,或者甚至是我测试用的奇怪的行为。这些设备

I accept these results could be because I'm missing something, the SDK isn't intuitive, or perhaps even that the devices I'm testing with are behaving strangely.

我在想什么?

推荐答案

这应该工作。是否有任何的logcat错误消息,当你做这样的判断?

This should work. Is there any error messages in logcat when you make this call?

PackageManager pm = getPackageManager();
boolean hasGps = pm.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);

这篇关于如何检查GPS传感器的presence?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆