0

이미지가 원하는 폴더에 저장되었지만 imageView에 표시되지 않고 토스트가 표시됩니다. 다른 XML 파일을 사용하거나 클래스를 변경하는 것과 같은 거의 모든 방법으로 시도했습니다. 문제는 여전히 존재합니다.비트 맵 이미지를 이미지보기로 가져올 수 없습니다.

당신은 당신이 그것의 기반으로 스위치를 실행하려고 다음 값 0의 resultCode를 제한하고있어

if (resultCode == 0) { 
      switch (resultCode) { 
       case Activity.RESULT_OK: 
       { 

말 :

package com.example.mohammadhasham.jtbopencameramodule; 

import android.app.Activity; 
import android.content.Intent; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.icu.text.SimpleDateFormat; 
import android.net.Uri; 
import android.os.Bundle; 
import android.os.Environment; 
import android.provider.MediaStore; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v4.content.FileProvider; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.Toast; 

import java.io.File; 
import java.util.Date; 

public class CameraActivity extends AppCompatActivity { 

    ImageView img; 
    String currentPath; 
    File f; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_camera); 

     img = (ImageView) (findViewById(R.id.capture)); 


    } 

    public void captureImage(View v) { 

     Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "image.jpg"); 
     Uri u = Uri.fromFile(f); 
     i.putExtra(MediaStore.EXTRA_OUTPUT, u); 
     i.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
     startActivityForResult(i, 0); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

     if (resultCode == 0) { 
      switch (resultCode) { 
       case Activity.RESULT_OK: 
       { 
        if (f.exists()) 
        { 
         Toast.makeText(this, "Image Saved To Gallery", Toast.LENGTH_LONG).show(); 
         Bitmap b = BitmapFactory.decodeFile(f.getAbsolutePath()); 
          img.setImageBitmap(b); 


        } 
        else 
        { 
         Toast.makeText(this, "Image Not Saved To Gallery", Toast.LENGTH_LONG).show(); 

        } 
        break; 
       } 
       case Activity.RESULT_CANCELED: 
       { 
        break; 
       } 
       default: 
        break; 
      } 
     } 
    } 

} 
+0

을 확장'이미지가 원하는 folder'에 저장됩니다. 이상한 게시물 시작. 어떤 이미지? 처음부터 무슨 일이 일어 났는지 이야기하십시오. 그 후에 코드를 보여주세요. – greenapps

답변

1

나는 당신이 당신의 코드에서 실수를 믿습니다 값.

+0

나는 정말로 어리 석다! 시간을 낭비했다! 정말 고마워. –

0

이 시도 :

공용 클래스 CameraActivity는 AppCompatActivity {

private final String APP_TAG = "MyCustomApp"; 
private static final int REQUEST_IMAGE_CAPTURE = 1; 
private String photoFileName = "photo.jpg"; 

private ImageView img; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    img = (ImageView) (findViewById(R.id.imageView)); 
} 

public void captureImage(View v) { 

    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
     takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, getPhotoFileUri(photoFileName)); 
     takePictureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); 
     startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 
    } 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { 
     Toast.makeText(this, "Image Saved To Gallery", Toast.LENGTH_LONG).show(); 

     Uri takenPhotoUri = getPhotoFileUri(photoFileName); 
     Bitmap imageBitmap = BitmapFactory.decodeFile(takenPhotoUri.getPath()); 
     img.setImageBitmap(imageBitmap); 
    } else { 
     Toast.makeText(this, "Image Not Saved To Gallery", Toast.LENGTH_LONG).show(); 

    } 
} 

// Returns the Uri for a photo stored on disk given the fileName 
public Uri getPhotoFileUri(String fileName) { 
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_DOWNLOADS).getAbsolutePath()); 

    // Create the storage directory if it does not exist 
    if (!mediaStorageDir.exists() && !mediaStorageDir.mkdirs()) { 
     Log.d(APP_TAG, "failed to create directory"); 
    } 

    // Return the file target for the photo based on filename 
    return Uri.fromFile(new File(mediaStorageDir.getPath() + File.separator + fileName)); 
} 

}

관련 문제