【问题标题】:Intent camera from landscape orientation result error来自横向方向的意图相机结果错误
【发布时间】:2016-07-28 09:59:41
【问题描述】:

我的应用使用意图拍照。如果我以纵向拍摄,我会得到图像。但是当我旋转我的设备并横向拍摄时,我得到了错误。甚至指向(可能)错误行的错误消息。

打开相机:

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.Transition',引用自方法 mypackagename.fragment.HomeFragment.access$super

和警告信息

无法解析虚拟方法 949:Landroid/graphics/Bitmap;.getAllocationByteCount

【问题讨论】:

  • 中添加android:screenOrientation="portrait"
  • 如果你想让你的应用旋转然后try this
  • 你能发布堆栈跟踪吗??
  • @GeetChoubey 我对那个清单做了,但仍然无法正常工作。我尝试了您的链接,但仍然出现错误。我使用片段,但将该方法放在活动中。而且我不是在旋转应用程序而是在横向拍照,我的所有页面都是纵向的。
  • @himanshu1496 你说的堆栈跟踪是什么意思?顺便说一句,我放了错误消息和警告消息,不确定是否与我的问题有关

标签: android android-fragments android-camera-intent


【解决方案1】:

在清单中添加以下代码

<activity
    android:name=".ActivityName"
    android:configChanges="orientation|screenSize|keyboardHidden"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 2012-06-23
    • 2019-04-13
    相关资源
    最近更新 更多