拍照后,屏幕旋转90度一秒钟

时间:2014-07-15 09:18:48

标签: android

在我用 -

拍照后我的问题是这个
private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    // Ensure that there's a camera activity to handle the intent
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, 2);
    }
}

在我将图片保存到文件系统并在ImageView上显示图片后

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 2 && resultCode == RESULT_OK) {
       try{
        Bundle extras = data.getExtras();
        Bitmap imageBitmap = (Bitmap) extras.get("data");
        File picFile=createImageFile();
        FileOutputStream fo = new FileOutputStream(picFile);
        imageBitmap.compress(Bitmap.CompressFormat.PNG, 90, fo);
        fo.close();

        //rotating the picture if its rotated wrong
        ExifInterface ei = new ExifInterface(FileAbsPath);
        int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);

        switch(orientation) {
               case ExifInterface.ORIENTATION_ROTATE_90:
                   Matrix matrix = new Matrix();
                   matrix.postRotate(90);
                   imageBitmap=Bitmap.createBitmap(imageBitmap, 0, 0, imageBitmap.getWidth(), imageBitmap.getHeight(), matrix, true);
                   break;
               case ExifInterface.ORIENTATION_ROTATE_180:
                   Matrix matrix2 = new Matrix();
                   matrix2.postRotate(180);
                   imageBitmap=Bitmap.createBitmap(imageBitmap, 0, 0, imageBitmap.getWidth(), imageBitmap.getHeight(), matrix2, true);
                   break;
               // etc.
        }

        myBitMap=imageBitmap;
        if (mImageView.getMeasuredHeight()>0){
            mImageView.setImageBitmap(myBitMap);
        }
       }catch (IOException e) {System.out.println("exception catched.");}
    }
}

有时会发生的是,当我正在使用应用程序时,在我拍照后,选择“保存”,然后回到我的应用程序,整个屏幕(包括图片)旋转90度顺时针旋转一秒钟,然后它回到常规肖像模式。

它并不总是发生,但大部分时间都会发生。

此问题与图片是否轮换的switch case无关(即使此部分不存在也会发生),即使我将活动定义为肖像活动。

我发现这不是我手机的问题因为在whatsap这样的应用程序中没有发生这个问题,所以大多数都有代码来处理这个问题。

请帮帮我。 感谢。

0 个答案:

没有答案