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