【发布时间】:2012-01-18 22:27:53
【问题描述】:
我正在寻找一段代码,它可以告诉我安卓手机是否有 GPS 设备?我在搜索结果中获得的大多数样本都在说明 GPS 是否已启用。我感兴趣的是Android手机是否有物理GPS设备?
谢谢
【问题讨论】:
我正在寻找一段代码,它可以告诉我安卓手机是否有 GPS 设备?我在搜索结果中获得的大多数样本都在说明 GPS 是否已启用。我感兴趣的是Android手机是否有物理GPS设备?
谢谢
【问题讨论】:
从 API 级别 8 (Froyo) 开始,您可以使用以下代码:
PackageManager packageManager = mContext.getPackageManager();
boolean hasGPS = packageManager.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
【讨论】:
public boolean hasGPSDevice(Context context)
{
final LocationManager mgr = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
if ( mgr == null ) return false;
final List<String> providers = mgr.getAllProviders();
if ( providers == null ) return false;
return providers.contains(LocationManager.GPS_PROVIDER);
}
【讨论】:
GPS Support = No,此代码也会返回 true。有任何想法吗?可能这在没有 GPS 的手机上运行良好,它会返回 false 但不确定......