如何在Flutter中手动移除相机插件的麦克风权限?

5

是否有可能使用Flutter移除Android设备上相机插件的麦克风权限请求?

我尝试在我的AndroidManifest.xml文件中添加以下内容:

但是它显示错误。

请问有人可以帮助我解决这个问题吗?提前感谢您。


3
<uses-permission android:name="android.permission.RECORD_AUDIO" tools:node="remove"></uses-permission>我已经尝试过这样做。 - roja
你可以fork这个repo并从中删除它,使用你自己fork的repo,但如果你删除了这个权限,那么可能会破坏一些本地实现,导致你无法运行你的应用程序。 - Pokaboom
3个回答

13

一个重要的事情是,enableAudio: false参数只能作为最后一个参数传递给CameraController。如下所示:

_controller = CameraController(firstCamera, ResolutionPreset.medium,
    enableAudio: false);

所有其他尝试都会导致语法错误。添加这个可以避免在info.plist中添加额外的NSMicrophoneUsageDescription。否则应用程序将崩溃并显示以下错误:

"该应用程序已崩溃,因为它尝试访问隐私敏感数据而没有使用说明。应用程序的Info.plist必须包含一个NSMicrophoneUsageDescription键,其字符串值解释了应用程序如何使用此数据。"


3

禁用相机控制器的音频

controller = CameraController(
        cameras.first,
        ResolutionPreset.medium,
        enableAudio: false,
        imageFormatGroup: Helpers.isIOS ? ImageFormatGroup.bgra8888 : ImageFormatGroup.yuv420,
    );

2

只有在向CameraController (0.5.2+1 ++)传递参数enableAudio: false时,才能请求相机权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接