Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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系统,API级别为3级或4级_Android_Gps - Fatal编程技术网

检查android设备上是否存在GPS系统,API级别为3级或4级

检查android设备上是否存在GPS系统,API级别为3级或4级,android,gps,Android,Gps,我需要检查android设备上是否有GPS系统 我看到了对以下问题的答复, ,但需要在API级别为3或4的情况下执行 链接上的答案将在API级别至少为5的情况下工作 hasSystemFeature()和8表示PackageManager.FEATURE\u LOCATION\u GPS常量 提前谢谢 更新: 使用以下代码,从Commonware实现解决方案 boolean gpsOnBoard; LocationManager locMan = (LocationManager) mCtx.

我需要检查android设备上是否有GPS系统

我看到了对以下问题的答复, ,但需要在API级别为3或4的情况下执行

链接上的答案将在API级别至少为5的情况下工作 hasSystemFeature()和8表示PackageManager.FEATURE\u LOCATION\u GPS常量

提前谢谢

更新:

使用以下代码,从Commonware实现解决方案

boolean gpsOnBoard;

LocationManager locMan = (LocationManager) mCtx.getSystemService(Context.LOCATION_SERVICE);
List<String> locProvs = locMan.getProviders(true);

// check if we have a valid list of providers
if (locProvs != null)
{
gpsOnBoard = false;

// check all providers 
    for (String locProvName:locProvs)
    {
    if (locProvName.equals(LocationManager.GPS_PROVIDER))
        {
    // we have GPS hw onboard
        gpsOnBoard = true;

    }
 }
布尔gpsOnBoard;
LocationManager locMan=(LocationManager)mCtx.getSystemService(Context.LOCATION\u服务);
List locProvs=locMan.getProviders(true);
//检查我们是否有有效的提供商列表
如果(locProvs!=null)
{
gpsOnBoard=false;
//检查所有提供者
for(字符串locProvName:locProvs)
{
if(locProvName.equals(LocationManager.GPS\U提供程序))
{
//我们船上有GPS硬件
gpsOnBoard=true;
}
}
调用
LocationManager
,查看有哪些提供商


理想情况下,你不需要在你的应用程序中硬编码GPS支持,因为即使硬件存在,用户也可能禁用该提供者。考虑使用<代码>标准>代码>,并允许安卓帮助你找到合适的和可用的提供者。

只是一个FYI,API级别3和4一起构成了不到市场的3%。意识到这一点。也许我有点迂腐,但希望有尽可能广泛的兼容性。将检查getProviders。在这个特定的例子中,我希望特定于GPS。