我正在尝试找一些代码,这些代码可以帮助我找出我使用的设备是否有GPS?我不想知道GPS是启用还是禁用。我只想通过我的程序知道设备是否有GPS硬件。
答案 0 :(得分:16)
是的,这可以做到。
您可以致电LocationManager.getAllProviders()
并检查列表中是否包含LocationManager.GPS_PROVIDER
。
仅供参考,我相信所有发布的Android手机都配有GPS。这不是Android似乎担心的事情,例如提到GPS是PackageManager.getSystemAvailableFeatures()
返回的设备属性之一。
答案 1 :(得分:8)
一个老问题,但我发现这更容易使用
private boolean hasGpsSensor(){
PackageManager packMan = getPackageManager();
return packMan.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
}
如果不可用则为false,如果激活则为true,所以我在
之后使用了这个private boolean isGpsEnabled(){
LocationManager manager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
return manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
}
使用这两个,您将知道GPS是否可用,已激活或已停用
答案 2 :(得分:3)
还有LocationManager.isProviderEnabled(String provider)方法。