admin管理员组

文章数量:1662623

先说场景再贴代码,uni-app开发app应用,在用户没有开启定位时,通过uni.getLocation()无法获取用户位置信息,需要提示用户开启定位功能,具体实现如下:


第一步:

在manifest.json中配置定位服务权限

"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",

第二步:

如果未开启定位功能,提示用户开启,

// #ifdef APP-PLUS
	let system = uni.getSystemInfoSync();
	if(system.platform === "android"){
	var context = plus.android.importClass("android.content.Context");
	var locationManger = plus.android.importClass("android.location.LocationManager");
	var main = plus.android.runtimeMainActivity();
	var mainSvr = main.getSystemService(context.LOCATION_SERVICE);
	if(!mainSvr.isProviderEnabled(locationManger.GPS_PROVIDER)){
		uni.showModal({
			title:"提示",
			content:"请授权位置获取附近的取件站点!",
			showCancel:false,
				success() {
					if(!mainSvr.isProviderEnabled(locationManger.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_SETTINGS);
						main.startActivity(intent);
					}else{
						console.log("定位已开启")
						_self.setSite()
					}
				}
			})
		}
	}
// #endif

提示

对于小程序或是h5获取位置信息,参考
https://blog.csdn/qq_42778001/article/details/104922059

本文标签: 权限Uniappandroid