从横向定向结果错误的意图相机

时间:2016-07-28 09:59:42

标签: android android-fragments android-camera-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.Transition',从方法mypackagename.fragment.HomeFragment.access $ super

中引用

和警告信息

  

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

1 个答案:

答案 0 :(得分:0)

在清单中添加以下代码

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