当前位置: 首页 > 知识库问答 >
问题:

来自横向定向的意向摄像机结果错误

章飞虎
2023-03-14

我的应用程序使用intent拍照。如果我按肖像方向拍摄,我会得到图像。但当我旋转我的设备,并采取横向方向,我得到了错误。甚至错误消息指向(可能)错误的行。

打开相机:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(mainActivity.getPackageManager()) != null) {
    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
}

关于活动结果:

Bundle extras = data.getExtras();
imageBitmap = (Bitmap) extras.get("data");
ivImage.setImageBitmap(imageBitmap);

给出解释的结果。然后我用其他代码再试一次<打开摄像机:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);

关于活动结果:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
imageBitmap = BitmapFactory.decodeFile(fileUri.getPath(), options);
ivImage.setImageBitmap(imageBitmap);

仍然有相同的结果<在寻找一些解决方案后,他们谈到了保存实例。然后我把这个(我使用片段)

@Override
public void onSaveInstanceState(Bundle outState) {
    outState.putParcelable("file_uri", fileUri);
    super.onSaveInstanceState(outState);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    if (savedInstanceState != null)
        fileUri = savedInstanceState.getParcelable("file_uri");
    super.onActivityCreated(savedInstanceState);
}

仍未工作,其中一条错误消息指向

super.onCreate(savedInstanceState);

在onCreate(Bundle savedInstanceState)函数中

有人知道为什么吗?或者可能是另一个使用相机的替代代码。

更新,错误消息:

找不到类'android.transition.过渡',引用的方法mypackagename.fragment.HomeFragment.access

和警告消息

无法解析虚拟方法949:Landroid/图形/位图;. getAllocationByteCount

共有1个答案

范京
2023-03-14

在清单中添加以下代码

<activity
    android:name=".ActivityName"
    android:configChanges="orientation|screenSize|keyboardHidden"/>
 类似资料:
  • 问题内容: 在我的相机应用中,您可以在前后相机之间切换。当我使用后置摄像头拍照时,照片与预览显示的一样。但是当我切换到前置摄像头时,图片是镜像的。我认为这与前置摄像头和后置摄像头处于横向模式有关。我已经尝试了几乎所有给定的答案。 如果有人可以向我指出正确的方向,那将真的有帮助。 问题答案: 我找到了答案,这样做没有帮助。我必须镜像生成的位图才能获得所需的结果。我使用Matrix方法来实现这一目标。

  • 我已经建立了一个自定义的相机应用程序。面对屏幕方向的问题,我不希望在方向改变时重新创建活动。请用完整的解决方案帮助我。 在预览类中的surfaceChanged方法内获取空指针异常。 获取以下行中的空指针异常: 任何帮助将不胜感激。 以下是错误日志: 12-23 16:07:34.962 8845-8845/com。清晰摄像机E/AndroidRuntime﹕ 致命异常:主进程:com。清晰摄像头

  • 所以我用下面的方法设置了摄像头- 如您所见,我在摄像机参数上使用了setRoation()来实际指定图像方向,并在摄像机本身上使用了setDisplayOriation()来处理表面预览中的方向更改。(注释和未注释的代码似乎都没有保留方向。当我检查数据时,它返回0) 之后,在回调中,我甚至尝试使用矩阵保存具有方向的图像。 实际问题 > 当我在肖像模式下拍照时,一切正常。它看起来像是被拿走了。 但是

  • 我创建了自定义相机活动,但拍摄的图像方向错误。当我在纵向模式下拍摄图像并将其旋转90度后。它处于原始位置,但在横向模式下以错误方向拍摄图像。 相机方向在纵向模式下捕获图像时 用于解决相机预览问题。 检查位图方向。

  • 由于“意图重定向”,我们的应用程序在最近几年多次被拒绝。“您的应用易受意图重定向攻击。” 我们找不到这个警告的位置。 你知道我们怎样才能解决这个问题吗 请引导我们找到解决方案。 非常感谢你的帮助。 我们的代码如下:

  • 问题内容: 我试图对我的应用程序强制使用“横向”模式,因为我的应用程序绝对不是针对“人像”模式设计的。我怎样才能做到这一点? 问题答案: 现在可以使用HTML5 Webapp清单。 见下文。 原始答案: 您不能将网站或Web应用程序锁定在特定方向。它违反了设备的自然行为。 您可以使用CSS3媒体查询来 检测 设备方向,如下所示: 或通过绑定JavaScript方向更改事件,如下所示: 2014年1