如果应用程序不应该定位,如何处理强制方向更改?

时间:2015-10-31 16:12:46

标签: android android-fragments android-intent android-activity

我在Android 4.4.2设备上遇到以下问题,三星Galaxy S4 Mini。

如果我用后置摄像头拍照,我的应用程序会重新启动并处于不一致状态。我的主要活动是重新创建的。 我跟踪了问题,似乎这种奇怪的行为发生是因为相机应用程序旋转我的应用程序。 这很奇怪,因为我将我的应用程序设置为仅在纵向模式下工作。没有O. 虽然考虑了方向改变。

Android正确识别这种不当行为并将我的应用程序重新启动,但确切地说就是问题所在。在方向更改时,将重新创建活动,并且我的片段状态将丢失。

我在其他手机上没有这种行为,也不能在S4 mini上使用前置摄像头拍照。

在我看来,这是一个在Android版本或相机应用程序中的错误。

有关详细信息,请参阅以下日志:

自拍相机(确定):

  • 主要活动onCreate
  • 片段onCreate
  • 用户拍照并确认
  • onActivityResult调用

后置摄像头(不行):

  • 主要活动onCreate
  • 片段onCreate
  • 用户拍照并确认
  • 片段onCreate
  • 主要活动onCreate(app旋转)
  • onActivityResult调用
  • 片段onCreate
  • 主要活动onCreate(app正确旋转回肖像)

我该如何处理这种情况? 有没有办法阻止相机应用程序这样做。 或者这是一个已知问题并存在解决方法?

1 个答案:

答案 0 :(得分:0)

您可以使用表面视图SurfaceView Documentation在活动中打开相机,而不是使用相机应用程序。