Android 以编程方式查找设备是否支持GPS?
我试图找到一些代码,这将帮助我找出,如果我使用的设备有GPS或没有?我不想知道GPS是启用还是禁用。我只想通过我的程序知道设备是否有GPS硬件。是的,这是可以做到的 您可以致电并检查列表中是否包含Android 以编程方式查找设备是否支持GPS?,android,Android,我试图找到一些代码,这将帮助我找出,如果我使用的设备有GPS或没有?我不想知道GPS是启用还是禁用。我只想通过我的程序知道设备是否有GPS硬件。是的,这是可以做到的 您可以致电并检查列表中是否包含LocationManager.GPS\U提供商 仅供参考,我相信所有发布的Android手机都配有GPS。Android似乎并不担心这一点,例如,将GPS作为返回的设备属性之一。还有LocationManager.isProviderEnabled(字符串提供程序)方法。这些方法更易于使用: priv
LocationManager.GPS\U提供商
仅供参考,我相信所有发布的Android手机都配有GPS。Android似乎并不担心这一点,例如,将GPS作为返回的设备属性之一。还有LocationManager.isProviderEnabled(字符串提供程序)方法。这些方法更易于使用:
private boolean hasGpsSensor(){
PackageManager packMan = getPackageManager();
return packMan.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
}
true
:可用(激活或未激活)
false
:不可用
因此,如果true
,我们可以使用
private boolean isGpsEnabled(){
LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
return manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
}
true
:已启用
false
:禁用
有了这两个选项,您将知道GPS是否可用、激活或停用。注意:您可能应该“接受”您之前问题的一些答案。你可以通过点击最佳答案旁边的绿色“勾号”图标来实现这一点。它们目前都有GPS,但将来可能会有一些平板电脑没有GPS(我认为K-Mart平板电脑实际上没有)。@RockOn如果你发现这回答了你的问题,你能接受吗?@Mike:Kindle Fire在2010年4月不存在,但从SDK版本8开始,您可以使用PackageManager.FEATURE_LOCATION_GPS
常量和这里提到的getSystemAvailableFeatures()
方法。itel中国制造商的许多低成本手机都有Android,没有任何GPS传感器;他们的it1353型就是一个例子。@Danielbauyat确实如此。但五年前我写这个答案时,情况并非如此,你也可以从上面的评论中看到,这是一个错误的答案。引述问题:“我不想知道GPS是启用还是禁用。”。简洁的。对。对OP的回答很好。信息量很大。非常感谢。