三星 Tab3 上的 sendUserActionEvent() mView==null

新手上路,请多包涵

我在使用我的应用程序内部的相机捕获图像后尝试预览图像,我确定路径不为空,但我在这行代码中收到此错误 Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),options); 并且没有图像视图。注意:我在另一台设备(不是三星)上测试了代码并且它有效。

原文由 user3524254 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 349
1 个回答

我找到了解决此问题的方法。不幸的是,在某些三星设备上,内置相机应用程序存在问题,它会导致屏幕旋转,从而导致您重新启动活动。为此 mView 变为空。三星的其他意图也会发生这种情况,而不仅仅是相机。要修复它,您必须在清单中的活动下添加此行:

 android:configChanges="orientation|screenSize"

谷歌在 文档 中提到

从 Android 3.2(API 级别 13)开始,当设备在纵向和横向之间切换时,“ 屏幕尺寸”也会发生变化。因此,如果你想防止在为 API 级别 13 或更高级别(由 minSdkVersion 和 targetSdkVersion 属性声明)开发时由于方向更改而导致运行时重新启动,你必须包括 "screenSize" 除了 "orientation" 值。也就是说,您必须声明 android:configChanges="orientation|screenSize" 。但是,如果您的应用程序面向 API 级别 12 或更低级别,那么您的 Activity 始终会自行处理此配置更改(此配置更改不会重新启动您的 Activity,即使在 Android 3.2 或更高版本的设备上运行时也是如此)。

原文由 A.J 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题