如何检查手机是否有GPS设备?

Har*_*san 5 gps android

我试图找到一段代码可以告诉我Android手机是否有GPS设备?我在搜索结果中获得的大多数样本都在告知GPS是否已启用.我感兴趣的是Android手机是否有物理GPS设备?

谢谢

Dan*_*iel 19

从API级别8(Froyo)开始,您可以使用以下代码:

PackageManager packageManager = mContext.getPackageManager();
boolean hasGPS = packageManager.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS);
Run Code Online (Sandbox Code Playgroud)


Dam*_*ski 9

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);
    }
Run Code Online (Sandbox Code Playgroud)