uniapp android端检查用户是否开启位置服务
最近公司新项目,使用uniapp封装APP,通过获取用户位置来拉取附近店铺,但是有一些用户的GPS位置服务并没有开启,解决步骤如下第一步,在manifest.json中的权限模块勾选ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION第二步,在App.vue文件中拦截检查用户是否开启了位置服务onLaunch:function(){uni.getSystemInf
·
最近公司新项目,使用uniapp封装APP,通过获取用户位置来拉取附近店铺,但是有一些用户的GPS位置服务并没有开启,解决步骤如下
第一步,在manifest.json中的权限模块勾选ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION
第二步,在App.vue文件中拦截检查用户是否开启了位置服务
onLaunch:function(){
uni.getSystemInfo({
success:function(res){
var platform = res.platform;
if(platform === 'android'){
var context = plus.android.importClass("android.content.Context");
var locationManager = plus.android.importClass("android.location.LocationManager");
var main = plus.android.runtimeMainActivity();
var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
if(!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)){
uni.showModal({
title:"提示",
content:"请打开定位服务功能",
showCancel:false,
success(){
if(!mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER)){
var Intent = plus.android.importClass("android.content.Intent");
var Settings = plus.android.importClass("android.provider.Settings");
var intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGDS);
main.startActivity(intent);
}else{
console.log('GPS已经开启');
}
}
})
}
}
}
})
}
完成!!!
更多推荐
已为社区贡献4条内容
所有评论(0)