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/MainActivity.kt | 41 ++++++++++++++++++++++++++++++----------- 1 files changed, 30 insertions(+), 11 deletions(-) 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() + } } } -- Gitblit v1.7.1