From 88cf855268a05a68bb4570c6d45841bbe23fe5ec Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 25 四月 2025 13:44:26 +0800
Subject: [PATCH] 短信
---
app/src/main/java/com/example/firstapp/activity/SettingActivity.kt | 78 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 76 insertions(+), 2 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 371c4d8..4741173 100644
--- a/app/src/main/java/com/example/firstapp/activity/SettingActivity.kt
+++ b/app/src/main/java/com/example/firstapp/activity/SettingActivity.kt
@@ -10,6 +10,13 @@
import android.widget.Button
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
+import android.os.Build
+import android.Manifest
+import android.content.Context
+import android.content.pm.PackageManager
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.core.content.ContextCompat
+
import com.example.firstapp.databinding.ActivitySettingBinding
import com.example.firstapp.R
import com.example.firstapp.core.Core
@@ -29,6 +36,26 @@
ViewModelProvider(this).get(HomeViewModel::class.java)
}
private var isFullscreen: Boolean = false
+
+ // 添加通知权限请求
+ private val notificationPermissionRequest =
+ registerForActivityResult(ActivityResultContracts.RequestPermission()) { isGranted ->
+ if (isGranted) {
+ // 权限已授予,可以发送通知
+ AlertDialog.Builder(this)
+ .setTitle("通知权限")
+ .setMessage("通知权限已开启,您将能收到重要提醒")
+ .setPositiveButton("确定", null)
+ .show()
+ } else {
+ // 权限被拒绝
+ AlertDialog.Builder(this)
+ .setTitle("通知权限")
+ .setMessage("通知权限被拒绝,应用将无法发送提醒通知。您可以在系统设置中手动开启权限。")
+ .setPositiveButton("确定", null)
+ .show()
+ }
+ }
@SuppressLint("ClickableViewAccessibility")
override fun onCreate(savedInstanceState: Bundle?) {
@@ -64,14 +91,57 @@
// })
+ // 通知权限
+ setupNotificationPermission()
// 退出登录
logout()
-
// 账号注销
accountClose()
+ // 关于我们
+ aboutCompany()
+ }
+
+ private fun setupNotificationPermission() {
+ binding.notificationPermission.setOnClickListener {
+ // 请求通知权限(在Android 13及以上需要)
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
+ if (ContextCompat.checkSelfPermission(
+ this,
+ Manifest.permission.POST_NOTIFICATIONS
+ ) != PackageManager.PERMISSION_GRANTED
+ ) {
+ notificationPermissionRequest.launch(Manifest.permission.POST_NOTIFICATIONS)
+ } else {
+ // 已经有权限
+ AlertDialog.Builder(this)
+ .setTitle("通知权限")
+ .setMessage("您已经开启了通知权限")
+ .setPositiveButton("确定", null)
+ .show()
+ }
+ } else {
+ // Android 13以下版本不需要请求权限
+ AlertDialog.Builder(this)
+ .setTitle("通知权限")
+ .setMessage("当前系统版本无需单独请求通知权限")
+ .setPositiveButton("确定", null)
+ .show()
+ }
+ }
+ }
+
+ private fun aboutCompany(){
+
+ binding.aboutCompany.setOnClickListener {
+
+ // 跳转到关于我们的
+ val intent = Intent(this, AboutCompanyActivity::class.java)
+ startActivity(intent)
+
+ }
}
private fun accountClose(){
@@ -98,12 +168,16 @@
lifecycleScope.launch {
try {
// 清除本地的数据库
+
RetrofitClient.apiService.closeAccount()
Core.code.deleteAll()
Core.msg.deleteAll()
Core.keyword.deleteAll()
- Core.reminder.deleteAll()
+// Core.reminder.deleteAll()
+
+ // 清楚登录相关信息
+ homeViewModel.logout()
dialog.dismiss()
// 跳转到 LoginActivity 并清除之前的任务栈
--
Gitblit v1.9.3