From 9404fc9fce1d2f8678a5d1e6da2374b7a67783fe Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期四, 10 九月 2026 16:55:57 +0800
Subject: [PATCH] 修复问题,升级版本
---
app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt b/app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt
index 3887203..ce15998 100644
--- a/app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/mine/setting/SettingActivity.kt
@@ -1,12 +1,16 @@
package com.driver.igotrip.ui.mine.setting
+import android.content.Intent
+import android.provider.Settings
import android.view.View
import android.widget.TextView
+import androidx.core.net.toUri
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.getVersionName
import com.driver.emanagercar.ui.base.BaseWebActivity
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
+import com.driver.igotrip.base.Const
import com.driver.igotrip.base.MyApplication
import com.driver.igotrip.base.MyBaseActivity
import com.driver.igotrip.bean.AgreeBean
@@ -15,7 +19,9 @@
import com.driver.igotrip.netUtls.callNet
import com.driver.igotrip.netUtls.getMapByAny
import com.driver.igotrip.ui.DialogUtil
+import com.driver.igotrip.utils.Cache.CacheKey
import com.driver.igotrip.utils.glide.GlideCacheUtil
+import com.google.android.material.switchmaterial.SwitchMaterial
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
@@ -41,6 +47,8 @@
private val ll_clear by lazy { find<View>(R.id.ll_clear) }
private val ll_version by lazy { find<View>(R.id.ll_version) }
private val tv_qa by lazy { find<View>(R.id.tv_qa) }
+ private val ll_floating_window by lazy { find<View>(R.id.ll_floating_window) }
+ private val sm_floating_window by lazy { find<SwitchMaterial>(R.id.sm_floating_window) }
override fun initView() {
setTitleText(getString(R.string.设置))
@@ -119,6 +127,36 @@
ll_version.setOnClickListener {
callVersion()
}
+ sm_floating_window.setOnCheckedChangeListener { _, isChecked ->
+ MyApplication.couldShowFloatingWindow = isChecked
+ }
+ ll_floating_window.setOnClickListener {
+ if (!sm_floating_window.isChecked) {
+ if (CacheKey.getKeyStr(Const.REFUSE_FLOATING_WINDOW) != "1") {
+ //用户没有拒绝过,但是没有授予权限
+ val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, "package:${packageName}".toUri()).apply {
+ putExtra("package", packageName)
+ }
+ startActivity(intent)
+ } else {
+ //用户拒绝过
+ CacheKey.putKeyStr(Const.REFUSE_FLOATING_WINDOW, "")
+ if (!Settings.canDrawOverlays(this)) {
+ //没有权限
+ val intent = Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, "package:${packageName}".toUri()).apply {
+ putExtra("package", packageName)
+ }
+ startActivity(intent)
+ } else {
+ //有权限
+ sm_floating_window.isChecked = true
+ }
+ }
+ } else {
+ sm_floating_window.isChecked = false
+ CacheKey.putKeyStr(Const.REFUSE_FLOATING_WINDOW, "1")
+ }
+ }
}
@@ -163,4 +201,8 @@
}
}
+ override fun onResume() {
+ super.onResume()
+ sm_floating_window.isChecked = Settings.canDrawOverlays(this) && CacheKey.getKeyStr(Const.REFUSE_FLOATING_WINDOW) != "1"
+ }
}
\ No newline at end of file
--
Gitblit v1.7.1