From c685cdaaa60765e81a1adfe068466bcce107f99d Mon Sep 17 00:00:00 2001 From: xiajiid Date: Wed, 11 Feb 2026 21:56:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AA=E9=80=80=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9A=E6=9D=83=E9=99=90=E8=A2=AB=E6=8B=92=E7=BB=9D?= =?UTF-8?q?=E6=97=B6=E6=98=BE=E7=A4=BA=E5=8F=8B=E5=A5=BD=E5=AF=B9=E8=AF=9D?= =?UTF-8?q?=E6=A1=86=E8=80=8C=E4=B8=8D=E6=98=AF=E7=AB=8B=E5=8D=B3=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/app/CameraActivity.kt | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/app/CameraActivity.kt b/app/src/main/java/com/example/app/CameraActivity.kt index e9cde44..97c5ebe 100644 --- a/app/src/main/java/com/example/app/CameraActivity.kt +++ b/app/src/main/java/com/example/app/CameraActivity.kt @@ -3,6 +3,7 @@ package com.example.app import android.Manifest import android.annotation.SuppressLint import android.content.ContentValues +import android.content.Intent import android.content.pm.PackageManager import android.graphics.Bitmap import android.graphics.BitmapFactory @@ -14,8 +15,10 @@ import android.net.Uri import android.os.Build import android.os.Bundle import android.provider.MediaStore +import android.provider.Settings import android.util.Log import android.widget.* +import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity import androidx.camera.core.CameraSelector import androidx.camera.core.ImageCapture @@ -600,9 +603,29 @@ class CameraActivity : AppCompatActivity() { startCamera() } else { Toast.makeText(this, "相机权限被拒绝,应用无法使用相机功能", Toast.LENGTH_LONG).show() - // 可以选择关闭应用或提供替代功能 - finish() + // 显示友好的界面而不是立即关闭应用 + showPermissionDeniedScreen() } } } + + private fun showPermissionDeniedScreen() { + // 可以在这里显示一个友好的界面,解释需要权限的原因 + // 并提供重新请求权限或退出的选项 + val dialog = AlertDialog.Builder(this) + .setTitle("需要相机权限") + .setMessage("此应用需要相机权限才能拍照。请前往设置授予权限。") + .setPositiveButton("去设置") { _, _ -> + val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS) + intent.data = Uri.parse("package:$packageName") + startActivity(intent) + finish() + } + .setNegativeButton("退出") { _, _ -> + finish() + } + .setCancelable(false) + .create() + dialog.show() + } } \ No newline at end of file