From 0cf0870889d65f5d11d0b2c8af7bca9442a7ba19 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 21 四月 2025 17:14:50 +0800 Subject: [PATCH] Merge branch 'master' of http://47.96.225.205:8888/r/FirstApp2 --- 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