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

时间:2014-04-11 15:02:16

标签: android bitmap samsung-mobile

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

4 个答案:

答案 0 :(得分:3)

关于sendUserActionEvent() mView==null,这是三星设备的一个明显错误(请参阅thisthis)。

如果它适用于非三星设备,那么这不是你的错,它是三星的 但是,如果可以,您应该尝试找到解决方法 再说一次,这不是你的错,这是TouchWiz的一个错误。

答案 1 :(得分:3)

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

android:configChanges="orientation|screenSize"

Google在文档中提及

  

从Android 3.2(API级别13)开始,当设备在纵向和横向之间切换时,“屏幕尺寸”也会发生变化。因此,如果您希望在开发API级别13或更高级别(由minSdkVersion和targetSdkVersion属性声明)时由于方向更改而阻止运行时重新启动,则除了{{1}之外,还必须包含"screenSize"值价值。也就是说,您必须声明"orientation"。但是,如果您的应用程序的目标是API级别12或更低,那么您的活动始终会自行处理此配置更改(即使在Android 3.2或更高版本的设备上运行,此配置更改也不会重新启动您的活动。)

答案 2 :(得分:1)

我几天来一直在努力解决这个错误,这是因为三星相机应用程序默认处于横向模式。

如果您从纵向模式的活动启动相机应用程序,当它从横向状态返回时,它会再次自动调用OnCreate,这就是您的路径为空的原因。

我通过在活动中添加一个静态计数器来解决这个问题,如果它等于0 app app oncreate并且全部完成,如果它大于0只加载布局。

答案 3 :(得分:-1)

是的,这是对的。

AJ提到的是解决方案:

android:configChanges="orientation|screenSize"

它还解决了每次手机旋转时调用OnCreateView方法而产生的另一个问题;如果您使用onSaveInstance()来存储初始值,则有助于防止不同的编辑字段恢复为原始值。你可以在这里参考这个视频 -

https://www.youtube.com/watch?v=_K_qlNluW38&index=67&list=PLHs_NFdr_LaHmEh7hV-wPyS-gKnAVPzBU