From f67802a41f9e01444d1115f34ecc6e1beb05fc3b Mon Sep 17 00:00:00 2001 From: lmw <125975490@qq.com> Date: 星期五, 12 五月 2023 11:24:29 +0800 Subject: [PATCH] 定位权限说明弹窗 --- app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt | 4 + app/src/main/java/com/fuban/user/ui/SplashActivity.kt | 54 ------------------ app/src/main/java/com/fuban/user/ui/MainActivity.kt | 41 ++++++++++--- app/src/main/java/com/fuban/user/ui/trip/MapTripFragment.kt | 22 ++++--- app/build.gradle | 6 +- 5 files changed, 48 insertions(+), 79 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 96817b5..b75f260 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,9 +30,9 @@ minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release -// ndk { -// abiFilters "armeabi-v7a" // 保留这种架构的CPU -// } + ndk { + abiFilters "armeabi-v7a","arm64-v8a" // 保留这种架构的CPU + } applicationVariants.all { variant -> // 更新至Android Studio 3.3 gradle 4.10.1 variant.outputs.all { diff --git a/app/src/main/java/com/fuban/user/ui/MainActivity.kt b/app/src/main/java/com/fuban/user/ui/MainActivity.kt index 81ad559..866cc41 100644 --- a/app/src/main/java/com/fuban/user/ui/MainActivity.kt +++ b/app/src/main/java/com/fuban/user/ui/MainActivity.kt @@ -30,6 +30,7 @@ import com.fuban.user.ui.crosscity.* import com.fuban.user.dialog.BannerDialog import com.fuban.user.dialog.AlertDialog +import com.fuban.user.dialog.TipDialog import com.fuban.user.dialog.UserRuleDialog import com.fuban.user.ui.login.LoginActivity import com.fuban.user.ui.logistics.LogisticsFragment @@ -255,18 +256,36 @@ ) { initTwoView(false, arrayListOf(), 0.0, 0.0) } else { - val disposable = - RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION) - .subscribe { - if (it) { - function() - } else { - SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true) - .apply() - initTwoView(false, arrayListOf(), 0.0, 0.0) - } + if (!RxPermissions(this).isGranted(Manifest.permission.ACCESS_FINE_LOCATION)){ + val tipDialog = TipDialog() + tipDialog.arguments = bundleOf("ok" to "去授权", + "msg" to "《福伴出行》需要获取您的当前位置信息,用于查询当前城市是否开通服务、附近是否有可用司机,并且将当前位置作为上车点以便您快速叫车。如果拒绝定位权限,您需要手动选择服务城市和上车点。") + tipDialog.show(supportFragmentManager,"ask") + tipDialog.setCallback(object :TipDialog.OnClickCallback{ + override fun onOk() { + val disposable = + RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION) + .subscribe { + if (it) { + function() + } else { + SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true) + .apply() + initTwoView(false, arrayListOf(), 0.0, 0.0) + } + } + onBindHelper(disposable) } - onBindHelper(disposable) + + override fun onCancel() { + SPUtils.instance().put(Const.User.IS_REFUSE_PERMISSION_LOCATION, true) + .apply() + initTwoView(false, arrayListOf(), 0.0, 0.0) + } + }) + }else{ + function() + } } } diff --git a/app/src/main/java/com/fuban/user/ui/SplashActivity.kt b/app/src/main/java/com/fuban/user/ui/SplashActivity.kt index 11b2945..9dc2e24 100644 --- a/app/src/main/java/com/fuban/user/ui/SplashActivity.kt +++ b/app/src/main/java/com/fuban/user/ui/SplashActivity.kt @@ -85,18 +85,6 @@ private fun requestLocation() { initLocationOption() -// val disposable = -// RxPermissions(this@SplashActivity).request(Manifest.permission.ACCESS_FINE_LOCATION) -// .subscribe { -// if (it) { -// initLocationOption() -// aMapLocationClient.startLocation() -// } else { -// myToast("没有定位权限") -// startMain(false) -// } -// } -// onBindHelper(disposable) } /** @@ -130,48 +118,6 @@ }, error = { _, _ -> startMain(false) }) - - -// val option = AMapLocationClientOption() -// option.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy -// option.isMockEnable = false -// option.isOnceLocation = true -// aMapLocationClient.setLocationOption(option) -// aMapLocationClient.setLocationListener { -// if (it.errorCode == 0) { -// OkApplication.cityCode = it.adCode -// OkApplication.cityName = it.city -// OkApplication.lat = it.latitude -// OkApplication.lon = it.longitude -// HttpManager.isOpenCity(it.adCode).request(this, success = { _, data -> -// data?.run { -// if (optInt("open") == 1) {//当前城市开通 -// OkApplication.chooseCityName = it.city -// OkApplication.chooseCityCode = it.adCode -// HttpManager.queryBusiness(it.city, it.province, it.district) -// .request(this@SplashActivity, success = { _, data -> -// Log.e( -// Const.Tag, -// "当前城市业务模块" + data?.joinToString(",") { it.name }) -// func.addAll(data ?: arrayListOf()) -// startMain(true) -// }, error = { _, _ -> -// startMain(false) -// }) -// } else {//未开通 -// myToast("当前城市未开通") -// startMain(false) -// } -// } -// }, error = { _, _ -> -// startMain(false) -// }) -// Log.e("mmp", it.city) -// } else {//定位失败 -// myToast("定位失败") -// startMain(false) -// } -// } } diff --git a/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt b/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt index 5deecbd..f87c90a 100644 --- a/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt +++ b/app/src/main/java/com/fuban/user/ui/mine/RechargeActivity.kt @@ -39,7 +39,9 @@ myToast("请选择充值金额") else{ val singleWheelDialog = SingleWheelDialog() - singleWheelDialog.arguments = bundleOf("data" to arrayListOf("支付宝支付","微信支付")) + singleWheelDialog.arguments = bundleOf("data" to arrayListOf( +// "支付宝支付", + "微信支付")) singleWheelDialog.setCallback(object :StringCallback{ override fun onRlt(rlt: String) { if (rlt == "微信支付") 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 f3813ce..0754904 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 @@ -474,18 +474,20 @@ } private fun showChangeCity() { - val tipDialog = TipDialog() - tipDialog.arguments = bundleOf("msg" to "当前城市与定位城市不符,是否切换?") - tipDialog.setCallback(object : TipDialog.OnClickCallback { - override fun onOk() { - activity!!.startActivityForResult<ChooseCityActivity>(501) - } + if ((requireActivity() as MainActivity).isOpen){ + val tipDialog = TipDialog() + tipDialog.arguments = bundleOf("msg" to "当前城市与定位城市不符,是否切换?") + tipDialog.setCallback(object : TipDialog.OnClickCallback { + override fun onOk() { + activity!!.startActivityForResult<ChooseCityActivity>(501) + } - override fun onCancel() { + override fun onCancel() { - } - }) - tipDialog.show(childFragmentManager, "clear") + } + }) + tipDialog.show(childFragmentManager, "clear") + } } private fun initTab() { -- Gitblit v1.7.1