Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 以编程方式查找设备是否支持GPS?_Android - Fatal编程技术网

Android 以编程方式查找设备是否支持GPS?

Android 以编程方式查找设备是否支持GPS?,android,Android,我试图找到一些代码,这将帮助我找出,如果我使用的设备有GPS或没有?我不想知道GPS是启用还是禁用。我只想通过我的程序知道设备是否有GPS硬件。是的,这是可以做到的 您可以致电并检查列表中是否包含LocationManager.GPS\U提供商 仅供参考,我相信所有发布的Android手机都配有GPS。Android似乎并不担心这一点,例如,将GPS作为返回的设备属性之一。还有LocationManager.isProviderEnabled(字符串提供程序)方法。这些方法更易于使用: priv

我试图找到一些代码,这将帮助我找出,如果我使用的设备有GPS或没有?我不想知道GPS是启用还是禁用。我只想通过我的程序知道设备是否有GPS硬件。

是的,这是可以做到的

您可以致电并检查列表中是否包含
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的回答很好。信息量很大。非常感谢。