Android 如果应用程序不应';t东方?

Android 如果应用程序不应';t东方?,android,android-fragments,android-intent,android-activity,Android,Android Fragments,Android Intent,Android Activity,我在Android 4.4.2设备三星Galaxy S4 Mini上遇到以下问题 如果我用后置摄像头拍照,我的应用程序会重新启动,并且处于不一致的状态。我的主要活动被重新创建。 我跟踪了这个问题,似乎出现这种奇怪的行为是因为摄像头应用程序旋转了我的应用程序。 这很奇怪,因为我将我的应用程序设置为仅在纵向模式下工作。不 尽管考虑了方向变化 Android正确地认识到了这种错误行为,并将我的应用程序转回来,但这正是问题所在。更改方向时,将重新创建活动,并且“我的碎片”状态将丢失 我不会在其他手机上看

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

如果我用后置摄像头拍照,我的应用程序会重新启动,并且处于不一致的状态。我的主要活动被重新创建。 我跟踪了这个问题,似乎出现这种奇怪的行为是因为摄像头应用程序旋转了我的应用程序。 这很奇怪,因为我将我的应用程序设置为仅在纵向模式下工作。不 尽管考虑了方向变化

Android正确地认识到了这种错误行为,并将我的应用程序转回来,但这正是问题所在。更改方向时,将重新创建活动,并且“我的碎片”状态将丢失

我不会在其他手机上看到这种行为,也不会在S4 mini上使用前置摄像头拍照时看到这种行为

在我看来,无论是在android版本还是在摄像头应用程序中,这都是一个bug

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

自拍相机(OK):

  • 创建时的主要活动
  • 片段一次创建
  • 用户拍摄照片并确认
  • 已调用onActivityResult
后置摄像头(不正常):

  • 创建时的主要活动
  • 片段一次创建
  • 用户拍摄照片并确认
  • 片段一次创建
  • 创建时的主要活动(应用程序轮换)
  • 已调用onActivityResult
  • 片段一次创建
  • 创建时的主要活动(应用程序正确旋转回到纵向)
我如何处理这种情况? 有没有办法阻止摄像头应用程序执行此操作。
或者这是一个已知问题并且存在解决方法?

您可以使用surface view在活动中打开摄像头,而不是使用摄像头应用程序

我这样创建选择器:
//Photo Choose Intent camera=newintent(MediaStore.ACTION\u IMAGE\u CAPTURE);意向图库=新意向(Intent.ACTION\u PICK、MediaStore.Images.Media.EXTERNAL\u CONTENT\u URI);Intent[]intentArray={camera};意向选择器=新意向(意向.动作选择器);//Gallery选择chooser.putExtra(Intent.EXTRA\u Intent,Gallery);选择器.putExtra(Intent.EXTRA\u初始意图,intentArray);startActivityForResult(选择器、结果\u加载\u图像)
请您提供一个例子。@McOzD如果这个答案对您有效,请接受它。我认为这将绕过这个问题,但不能解决它。我必须使用预装的摄像头应用程序。