From 04b138d3836e03c9adbcbd367fd71d92905c5206 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 17 四月 2025 13:17:45 +0800
Subject: [PATCH] add: 重复登录处理
---
app/src/main/java/com/example/firstapp/activity/SettingActivity.kt | 98 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 84 insertions(+), 14 deletions(-)
diff --git a/app/src/main/java/com/example/firstapp/activity/SettingActivity.kt b/app/src/main/java/com/example/firstapp/activity/SettingActivity.kt
index 017f581..f20a9c1 100644
--- a/app/src/main/java/com/example/firstapp/activity/SettingActivity.kt
+++ b/app/src/main/java/com/example/firstapp/activity/SettingActivity.kt
@@ -4,22 +4,20 @@
import android.annotation.SuppressLint
import android.app.AlertDialog
import android.content.Intent
-import android.os.Build
import android.os.Bundle
-import android.os.Handler
-import android.os.Looper
-import android.view.Gravity
+import android.view.LayoutInflater
import android.view.MenuItem
-import android.view.MotionEvent
-import android.view.View
-import android.view.WindowInsets
-import android.widget.LinearLayout
-import android.widget.TextView
-import androidx.appcompat.widget.Toolbar
+import android.widget.Button
import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+
import com.example.firstapp.databinding.ActivitySettingBinding
import com.example.firstapp.R
+import com.example.firstapp.core.Core
+import com.example.firstapp.database.service.RetrofitClient
import com.example.firstapp.ui.home.HomeViewModel
+import com.example.firstapp.utils.Log
+import kotlinx.coroutines.launch
/**
* An example full-screen activity that shows and hides the system UI (i.e.
@@ -66,6 +64,82 @@
//
// })
+
+ // 退出登录
+ logout()
+ // 账号注销
+ accountClose()
+ // 关于我们
+ aboutCompany()
+
+
+
+ }
+
+ private fun aboutCompany(){
+
+ binding.aboutCompany.setOnClickListener {
+
+ // 跳转到关于我们的
+ val intent = Intent(this, AboutCompanyActivity::class.java)
+ startActivity(intent)
+
+ }
+ }
+
+ private fun accountClose(){
+
+
+ binding.accountClose.setOnClickListener {
+
+ val dialogView = LayoutInflater.from(this).inflate(R.layout.account_close_dialog_custom, null)
+
+ val dialog = AlertDialog.Builder(this)
+ .setView(dialogView)
+ .create()
+
+ dialog.window?.setBackgroundDrawableResource(R.drawable.dialog_background)
+
+ val btnConfirm = dialogView.findViewById<Button>(R.id.btnConfirm)
+ btnConfirm.setOnClickListener {
+ dialog.dismiss()
+ }
+
+ val btnCancel = dialogView.findViewById<Button>(R.id.btnCancel)
+ btnCancel.setOnClickListener {
+ // 关闭账户
+ lifecycleScope.launch {
+ try {
+ // 清除本地的数据库
+ RetrofitClient.apiService.closeAccount()
+
+ Core.code.deleteAll()
+ Core.msg.deleteAll()
+ Core.keyword.deleteAll()
+// Core.reminder.deleteAll()
+
+ dialog.dismiss()
+ // 跳转到 LoginActivity 并清除之前的任务栈
+ var intent = Intent(this@SettingActivity, LoginActivity::class.java)
+ intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
+ startActivity(intent)
+ // 关闭当前页面
+ finish()
+
+ } catch (ex: Exception) {
+ Log.e("关闭账户", ex.message ?: "关闭账户报错")
+ }
+
+ }
+ }
+
+ dialog.show()
+
+ }
+ }
+
+ private fun logout(){
+
binding.settingExit.setOnClickListener {
// 弹出确认退出的对话框
val alertDialog = AlertDialog.Builder(this)
@@ -79,7 +153,6 @@
val intent = Intent(this, LoginActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)
-
// 关闭当前页面
finish()
}
@@ -92,9 +165,6 @@
// 显示对话框
alertDialog.show()
}
-
-
-
}
// 点击返回按钮时调用
--
Gitblit v1.9.3