见请求权限直接对应应用程序崩溃如果请求服务并且权限不可用。我更愿意将权限放在 onResume 中,因为无论用户操作变成什么,例如最小化或电池电量不足对话框出现在屏幕顶部,我们都需要再次检查权限更改,以便您的活动更改可能是由于任何原因而发生的。在网络请求或情况如何之后,摄像头正在尝试打开。将相机检查权限放在onResume中。所以让我们谈谈你会怎么做。有几种看法。我更喜欢做的是创建一个Helper类,让我知道这段代码的权限状态class PermissionsHelper(activity: Activity) {private val activity: Contextinit { this.activity = activity }fun isCameraPermissionAvailable()=ActivityCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED}}因此,在您的活动的onResume方法中检查权限是否可用,否则请求权限。 override fun onResume() { super.onResume() if (!PermissionsHelper(this).isCameraPermissionAvailable()) { requestPermissions(arrayOf(Manifest.permission.CAMERA), CAMERA_REQUEST_CODE) }}另外请注意两点1) You should write permission for camera in manifeast so that app can request the permission2) Check if the camera permission is available or not before opening the camera, if not you should again request for the permission(与 onResume 阶段相同)