From 51f657872f152a115fb055ad8860093a5cdbc12d Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期一, 17 四月 2023 16:44:52 +0800 Subject: [PATCH] 隐私权限相关 --- app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt | 36 ++++++++++++++++++++---------------- 1 files changed, 20 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt b/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt index 5fde12f..f3813ce 100644 --- a/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt +++ b/app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt @@ -19,10 +19,7 @@ import cn.sinata.xldutils.gone import cn.sinata.xldutils.ioScheduler import cn.sinata.xldutils.rxutils.ResultException -import cn.sinata.xldutils.utils.SpanBuilder -import cn.sinata.xldutils.utils.myToast -import cn.sinata.xldutils.utils.optInt -import cn.sinata.xldutils.utils.toTime +import cn.sinata.xldutils.utils.* import cn.sinata.xldutils.visible import com.amap.api.location.AMapLocationClient import com.amap.api.location.AMapLocationClientOption @@ -112,8 +109,8 @@ mMapView.onCreate(savedInstanceState) getNotice() getBottomAds() + initMap() getRxPermission { - initMap() initLocation() } initTab() @@ -381,17 +378,23 @@ } fun getRxPermission(function: () -> Unit) { - val disposable = - RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION) - .subscribe { - if (it) { - function() - } else { - function() - myToast("没有定位权限") + if (!RxPermissions(requireActivity()).isGranted(Manifest.permission.ACCESS_FINE_LOCATION) //没有权限且明确拒绝就不再申请权限 + && SPUtils.instance().getBoolean(Const.User.IS_REFUSE_PERMISSION_LOCATION)){ + function() +// myToast("没有定位权限") + }else{ + val disposable = + RxPermissions(activity!!).request(Manifest.permission.ACCESS_FINE_LOCATION) + .subscribe { + if (it) { + function() + } else { + SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION,true).apply() + function() + } } - } - onBindHelper(disposable) + onBindHelper(disposable) + } } private var locCount = 0L //定位次数 @@ -400,7 +403,7 @@ val myLocationStyle = MyLocationStyle() myLocationStyle.strokeColor(resources.getColor(R.color.colorBrown)) myLocationStyle.radiusFillColor(resources.getColor(R.color.colorTransBrown)) - myLocationStyle.interval(3000) + myLocationStyle.interval(10000) myLocationStyle.anchor(0.5f, 0.5f) myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)// myLocationStyle.myLocationIcon(BitmapDescriptorFactory.fromResource(R.mipmap.icon_coordinate)) @@ -419,6 +422,7 @@ FBApplication.address = it.address FBApplication.cityCode = it.extras.getString("adcode") ?: "" if (locCount < 1) { + Log.e(Const.Tag, "首页:lat:" + mainActivity.lat + ",lon:" + mainActivity.lon) if (mainActivity.lat != 0.0) aMap.animateCamera( CameraUpdateFactory.newLatLngZoom( -- Gitblit v1.7.1