当 Android 13 用户尝试启动相机(使用相机包 0.10.1)时,我的应用程序不断崩溃:
final cameras = await availableCameras();
final selectedCamera = cameras.first;
我收到此堆栈跟踪 RuntimeException :
传递结果失败 ResultInfo{who=@android:requestPermissions:, 请求=9796,结果=-1,数据=意图{ act=android.content.pm.action.REQUEST_PERMISSIONS (有额外内容) }} 活动 {edouard.immo/edouard.immo.MainActivity}: java.lang.NullPointerException:尝试调用虚拟方法“int” android.media.EncoderProfiles$VideoProfile.getWidth()' 为空 对象引用
我已经在清单中添加了此权限:READ_MEDIA_IMAGES 和 READ_MEDIA_VIDEO
我真的不知道该怎么办:(
我通过在 AndroidManifest.xml 文件中添加相机的 use-feature 解决了这个问题。
<uses-feature android:name="android.hardware.camera" android:required="true"/>
这是相机库的一个错误:https://github.com/flutter/flutter/issues/109769
当我们等待修复时,将
compileSdkVersion 33
移至 build.gradle 中的 32
我通过制作自己的自定义相机解决了这个问题,您可以在这里举个例子源代码。