android - Android 11:图像捕获后方向更改时相机 Intent 崩溃
问题描述
我正在使用相机意图捕捉图像(人像 + 风景)并将其显示在片段的图像视图中。
我已按照以下链接中的所有说明进行操作,
https://developer.android.com/training/camera/photobasics
该代码在 Android 10 之前的设备上运行良好,但不适用于 Android 11 设备(尤其是三星手机)。
我在 Stack Overflow 上尝试了所有可能的解决方案。
应用程序仅在以下情况下崩溃,
重现步骤,
- 用户启动相机以捕捉图像
- 旋转手机以横向模式拍摄图像。
- 用户成功捕获图像并单击对勾或确定。 如果在纵向模式下捕获图像,则应用程序不会崩溃。
我收到以下错误,(在 Crashlytics 上报告)
Caused by java.lang.NullPointerException
at java.io.File.<init>(File.java:283)
at com.kyc.views.PDFragment.onActivityResult(PDFragment.java:442)
at androidx.fragment.app.FragmentActivity.onActivityResult(FragmentActivity.java:170)
Fatal Exception: java.lang.RuntimeException: Unable to resume activity {com.kyc/com.kyc.main.MainActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=65660, result=-1, data=null} to activity {com.kyc/com.kyc.main.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4852)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4885)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
解决方案
android:configChanges="orientation"
通过在清单中添加您的活动来处理“配置更改” 。当屏幕旋转回纵向时,问题是在您返回应用程序后旋转。有些手机可以处理这个,有些不能。
推荐阅读
- docker - Docker 无法在 Windows Server 2019 上使用 LCOW 启动服务实用程序 VM
- python - 尚未定义类型的 Python 类型提示
- angular - Angular Mat-table Paginator 在排序工作时中断
- makefile - buildroot 包 .mk 文件中的高级选项连接
- android - 当您必须使用父活动引用时,如何使用“FragmentScenario”单独测试 Fragment
- javascript - React.StrictMode:useEffect 中的 SetState 函数在运行一次 effect 时运行多次
- docker - GKE 集群出口设置
- javascript - 在 JavaScript 中重复一个函数不起作用
- python - matplotlib 中二维图的轴平均值
- javascript - 如何以编程方式替换 @click 事件?