当前位置:首页 » APP上架 » 正文

小米开发平台 关于无GPS硬件机型的位置服务适配说明

小米开发平台 关于无GPS硬件机型的位置服务适配说明

1.背景

由于部分WiFi版本的小米平板(例如:小米平板5 WiFi版等)无GPS硬件,即使用户开启位置服务,应用也无法获取到GPS Provider,部分依赖于GPS位置服务的应用可能会提示“未开启位置服务或出现其他问题”,用户体验较差。

2.适配说明

针对无GPS硬件的机型,应用可以通过检测Location Proveders中是否包含”gps”来判断是否有GPS硬件。

另外,可以通过检测Network Provider状态来判断用户是否打开位置服务。

参考Demo如下:

LocationManager lm = (Locat桌面app打包生成ionManager)getSystemService(Context.LOCATION_SERVICE);
// 无GPS设备通过判断Network Provider来判断位置服务是否打开
// 其他设备仍然通过GPS Provider来判断位置服务是否打开
if (!isGPSExist(lm) && isNetworkLocationAble(lm) || isGpsAble(lm)) {
    // 用户已开启位置服务
    // 应用自身定位逻辑
} else {
    // 提醒用户未开启位置服务,引导用户至位置服务设置页面
    openLocationService();
}

// 应用可以通过以下方式判断是否有GPS硬件
public static boolean isGPSExist(LocationManager lm) {
    return lm.getAllProviders().contains("gps");
}

private boolean isGpsAble(LocationManager lm){
    return lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
}

private boolean isNetworkLocationAble(LocationManager lm){
     return lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
}

private void openLocationService()(){
    Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
    startActivity(intent);
}

3.优化建议

如果应用对GP生成web appS有强依赖,建议应用优化新增相关友好提示。

编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/12696/

部分内容来自网络投稿,如有侵权联系立删

未经允许不得转载:一门应用 » 小米开发平台 关于无GPS硬件机型的位置服务适配说明
分享到

相关推荐

联系我们

微信公众号

yimendabao

关注官方微信,了解最新资讯

客服QQ
4001658508

企业QQ,点击发起咨询