2014-09-07 4 views
0

을 다음 내 카메라 코드안드로이드 카메라 사진이

public void takepic(View view) { 
    Spinner spinner1 = (Spinner)findViewById(R.id.spinner1); 
    String schname = spinner1.getSelectedItem().toString(); 
    String[] tokens = schname.split(" "); 
    String timeStamp = new SimpleDateFormat("dd-MM-yyyy-HH-mm-ss").format(new Date()); 
    String imageFileName = tokens[0] + "-" + timeStamp + ".jpg"; 
    TextView detail = (TextView)findViewById(R.id.textView1); 
    detail.setText(imageFileName); 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
    File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 
    String name = imageFileName; 
    File file = new File(path, name); 
    ImageView mImage = (ImageView) findViewById(R.id.mImageView); 
    outputFileUri = Uri.fromFile(file); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
    startActivityForResult(intent, TAKE_PICTURE); 
    new SingleMediaScanner(this, file); 
    } 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == TAKE_PICTURE) { 
     Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 
     mImage.setImageBitmap(thumbnail);    
    }}} 

되어 표시되지 않습니다 그러면 이미지 뷰 호출 mImageView에 이미지가 표시되어야합니다. 그러나 그렇지 않습니다.

mImageView에 이미 비트 맵이 있습니다. 그것은 새로운 이미지로 변경하지만

ouputFileURI 올바른 경로와 파일 이름을보고하지만 난 그게

어떤 아이디어를 작동시킬 수 어차피이야로 대신 유지해야합니까?

마크

+0

'onActivityResult()'가 실행되었는지 확인 했습니까? 또한'data.getExtras() .get ("data")'의 반환 값을 확인 했습니까? 이것이 비트 맵을 리턴하는지 확신 할 수 있습니까? –

+0

[Samsung Galaxy Wont return (Bitmap) data.getExtras(). get ("data");] (http://stackoverflow.com/questions/5502295/samsung-galaxy-wont-return-bitmap-data)의 복제본 -getextras-getdata) –

답변

0

명시 적으로 이미지를 저장하는 파일 이름을 지정하고 있기 때문에, 당신은 오히려 Intent에서로드보다 그 파일에서 Bitmap을 읽어야합니다. data.getExtras().get("data");이 (가) null을 (를) 반환하는 것처럼 보입니다.

+0

죄송합니다. 이것을 어떻게 생각하니 정말 고마워요? – user3422687

+0

@ user3422687 질문에 대한 의견에 대한 링크를 읽었습니까? –

관련 문제