我的应用使用意图拍摄照片。如果我采用纵向方向,我会得到图像。但是当我旋转我的设备并采取横向方向时,我得到了错误。甚至是指向(可能)错误行的错误消息。
打开相机:
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
答案 0 :(得分:0)
在清单中添加以下代码
<activity
android:name=".ActivityName"
android:configChanges="orientation|screenSize|keyboardHidden"/>