From a93b87659d543d91cc552d7d3079607022d7edbe Mon Sep 17 00:00:00 2001 From: wwyang <137208408@qq.com> Date: Fri, 14 Feb 2025 17:20:27 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=9B=A0=E8=B0=83?= =?UTF-8?q?=E7=94=A8=E6=9C=AA=E5=AE=9E=E7=8E=B0=E7=9A=84=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wwyang <137208408@qq.com> --- .../ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets index 4d239112b..b7c93de4b 100644 --- a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets +++ b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/Camera.ets @@ -910,7 +910,6 @@ export class Camera implements CameraCaptureStateListener { dispose() { console.error(TAG, 'dispose'); this.close(); - this.flutterTexture.release(); this.getDeviceOrientationManager().stop(); } -- Gitee From 7954f3f2f3a296a834aa8bed2c900c388f097d32 Mon Sep 17 00:00:00 2001 From: wwyang <137208408@qq.com> Date: Mon, 17 Feb 2025 09:27:14 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=9D=83=E9=99=90=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wwyang <137208408@qq.com> --- .../ets/io/flutter/plugins/camera/CameraPermissions.ets | 7 ++++--- .../io/flutter/plugins/camera/MethodCallHandlerImpl.ets | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets index 36324e91a..d1aa63d55 100644 --- a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets +++ b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets @@ -11,11 +11,12 @@ import { BusinessError } from '@ohos.base'; type ResultCallback = (errCode: string | null, errDesc: string | null) => void; const cameraPermission: Array = + ['ohos.permission.CAMERA']; + +const audioPermission: Array = ['ohos.permission.CAMERA', 'ohos.permission.MICROPHONE']; -const audioPermission: Array = ['ohos.permission.CAPTURE_VOICE_DOWNLINK_AUDIO']; - async function checkAccessToken(permission: Permissions): Promise { let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); let grantStatus: abilityAccessCtrl.GrantStatus = abilityAccessCtrl.GrantStatus.PERMISSION_DENIED; @@ -60,7 +61,7 @@ export class CameraPermissions { let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 - atManager.requestPermissionsFromUser(context, enableAudio ? cameraPermission : cameraPermission) + atManager.requestPermissionsFromUser(context, enableAudio ? audioPermission : cameraPermission) .then((data: PermissionRequestResult) => { let grantStatus: Array = data.authResults; let length: number = grantStatus.length; diff --git a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/MethodCallHandlerImpl.ets b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/MethodCallHandlerImpl.ets index b0ad2e1c6..8b4ff05f9 100644 --- a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/MethodCallHandlerImpl.ets +++ b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/MethodCallHandlerImpl.ets @@ -92,7 +92,7 @@ export class MethodCallHandlerImpl implements MethodCallHandler { // 检查权限 this.cameraPermissions.requestPermissions( this.context, - false, + call.argument('enableAudio'), (errCode: string | null, errDesc: string | null) => { if (errCode == null) { try { -- Gitee From 420ea8574bc0a47da55757b094b979924760bb64 Mon Sep 17 00:00:00 2001 From: wwyang <137208408@qq.com> Date: Tue, 18 Feb 2025 14:51:01 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wwyang <137208408@qq.com> --- .../io/flutter/plugins/camera/CameraPermissions.ets | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets index d1aa63d55..479494d1f 100644 --- a/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets +++ b/packages/camera/camera_ohos/ohos/src/main/ets/io/flutter/plugins/camera/CameraPermissions.ets @@ -10,10 +10,10 @@ import { BusinessError } from '@ohos.base'; type ResultCallback = (errCode: string | null, errDesc: string | null) => void; -const cameraPermission: Array = +const photoPermission: Array = ['ohos.permission.CAMERA']; -const audioPermission: Array = +const videoPermission: Array = ['ohos.permission.CAMERA', 'ohos.permission.MICROPHONE']; @@ -54,14 +54,14 @@ export class CameraPermissions { enableAudio: boolean, callback: ResultCallback ) { - const hasCameraPermission: boolean = await checkPermissions(cameraPermission); - const hasAudioPermission: boolean = enableAudio && await checkPermissions(audioPermission); + const hasCameraPermission: boolean = await checkPermissions(photoPermission); + const hasAudioPermission: boolean = enableAudio && await checkPermissions(videoPermission); if (!hasCameraPermission || !hasAudioPermission) { let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); // requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗 - atManager.requestPermissionsFromUser(context, enableAudio ? audioPermission : cameraPermission) + atManager.requestPermissionsFromUser(context, enableAudio ? videoPermission : photoPermission) .then((data: PermissionRequestResult) => { let grantStatus: Array = data.authResults; let length: number = grantStatus.length; -- Gitee