2012-01-23 75 views
0

我加載相機並拍攝一張照片,然後將拍攝的照片放入一個ImageView;然而,應用程序總是會拍攝最後一張照片,而不是當前照片。應用沒有正確加載圖片?

因此,如果我打開應用程序並拍攝照片,則圖像視圖爲黑色。關閉應用程序,重新打開並拍攝另一張照片,圖像視圖現在是拍攝的第一張照片。

???

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     File file = new File(Environment.getExternalStorageDirectory(), "image.jpg"); 
     System.out.println((Environment.getExternalStorageDirectory() + "/image.jpg")); 
     outputFileUri = Uri.fromFile(file); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
     startActivityForResult(intent, TAKE_PICTURE); 

     setContentView(R.layout.image_process); 
     bmp = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/image.jpg"); 
     image = (ImageView) findViewById(R.id.imageView1); 

      image.setImageBitmap(bmp); 

回答

1

既然你開始你的照片拍攝活動與startActivityForResult,你需要以下startActivityForResult(..onActivityResult方法移動代碼:

/** Called when an activity called by using startActivityForResult finishes. */ 
@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    Log.d(TAG, "Picture taken!"); 
    setContentView(R.layout.image_process); 
    bmp = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory() + "/image.jpg"); 
    image = (ImageView) findViewById(R.id.imageView1); 
    image.setImageBitmap(bmp); 
} 
+0

太謝謝你了! :)工作。接受答案! –

+0

不客氣:) –