gpt4 book ai didi

Android Lollipop Camera2 api改变应用程序的方向

转载 作者:太空狗 更新时间:2023-10-29 13:19:45 25 4
gpt4 key购买 nike

我正在创建一个应用程序,其中一部分是用户可以通过拍照或使用 native 图库中的照片来更改他们的个人资料照片。

所以我使用的是原生相机,我使用下面的代码行来打开相机 View

  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image_saved_destination));
startActivityForResult(intent, CAMERA_REQUEST_CODE);

因此,它会不断覆盖外部存储上的相同文件。

在我将我的其中一台设备上的操作系统更新为 Lollipop 之前,它一直运行良好。现在,当我使用相机时,如果我将它保持在纵向状态并拍摄照片并保存方向,当它返回到我的应用程序时会从横向翻转为纵向。然而,当相机打开时,如果我横向握住手机并拍照并点击保存,它会返回到应用程序,没有方向异常。

由于方向的改变和改变,我失去了 Activity 的状态,所以我的变量等也丢失了,这是处理图像数据所需要的。

有人遇到过吗?

最佳答案

ACTION_IMAGE_CAPTURE Intent 和 Activity 更改之间的旋转与新的 Android camera2 API 完全无关。这只是 Android Intent 系统和 Activity 之间切换的标准行为。

听起来新操作系统附带了新版本的 native 相机应用程序,该应用程序在管理屏幕方向方面改变了其行为。您应该研究管理方向和其他配置更改的标准方法:http://developer.android.com/guide/components/activities.html#ConfigurationChanges

这些将允许您自己处理方向更改而不是操作系统重新启动您的 Activity ,或者允许您将您的私有(private)数据存储到 onCreate 中提供给您的包中。

关于Android Lollipop Camera2 api改变应用程序的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30463151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com