安卓棒棒糖问题 - 无法将相机拍摄的图片加载到ImageView

3

在安卓棒棒糖(Android Lollipop)版本之前,以下代码可以正常工作。

但是从某个安卓版本(大约在5.0左右)开始,每当从相机捕捉到一张图片时,屏幕会向右旋转90度再旋转回来(我的设备不仅关闭了自动旋转,我的活动也定义为竖屏,根本不应该旋转!)。一旦屏幕旋转回来,ImageView就会呈现之前的(原始的)图像。有什么建议吗?

相机意图:

if (result.equals("CAMERA"))
{
    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(cameraIntent, RESULT_IMAGE_CAPTURE);
}

实际操作:
protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    super.onActivityResult(requestCode, resultCode, data);

    Bitmap bmp = null;

    if (requestCode == RESULT_IMAGE_CAPTURE && resultCode == RESULT_OK && data != null)
        Bitmap bmp = (Bitmap) data.getExtras().get("data");

    if (bmp != null)
    {
        mProfilePicPath = ImageHandler.saveBitmap(bmp , "", "image_name");
        mProfilePic.setImageBitmap(bmp);
    }
}   

编辑:显然,当从相机意图返回到我的活动时,不仅会调用onResume()方法,还会调用onCreate()方法,而且不止一次!第一次之后会调用onActivityResult方法。 第二次会重新初始化mProfilePic(我的ImageView)和mProfilePicPath,而我想稍后再使用它们。有什么想法吗?


你得到了什么错误? - DDsix
试试这个:https://dev59.com/gGIj5IYBdhLWcg3wYUKR - MarkySmarky
@DDsix,我没有收到任何错误。 - Cookienator
@MarkySmarky 那里的答案基本上就是我的代码,或多或少 :) - Cookienator
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接