2013-02-21 21 views
1

看到了解決方案,但我曾經工作過,一旦沒有上線。我不知道是什麼。Android拍照int resultCode = -1,意圖數據= null?

int resultCode = -1, Intent data = null 

拍照並經常得到。

private void takePicture() { 
     Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
     File photoFile = new File(Environment.getExternalStorageDirectory(), StartMenuActivity.DIR_NAME + "/" + travelDirName 
       + "/" + travelDirName + "_" + poisArray.size() + ".jpg"); 
     cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); 

     imageOrVideoUri = Uri.fromFile(photoFile); 

     startActivityForResult(cameraIntent, CAMERA_REQUEST_PICTURE); 
    } 


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

     if ((resultCode == RESULT_OK)&&(data != null)) { 
      if (requestCode == CAMERA_REQUEST_PICTURE) { 
       createThumbnail(); 
       addPoi(PICTURE_POI); 
      } 
      if (requestCode == CAMERA_REQUEST_VIDEO) { 
       addPoi(VIDEO_POI); 
      } 
      // Uri selectedUri = imageOrVideoUri; 
      // Bitmap photo = (Bitmap) data.getExtras().get("data"); 
      // imageView.setImageBitmap(photo); 
     } else { 
      Toast.makeText(TravelMapActivity.this, R.string.poi_add_error, Toast.LENGTH_LONG).show(); 
     } 
} 

如何解決?謝謝。

+0

可能的重複:http://stackoverflow.com/questions/7304007/take-picture-from-camera-and-choose-from-gallery-and-display-in-image-view – 2013-02-21 12:56:18

+0

在這種情況下,米仍然越來越。 resultCode = -1 – JDev 2013-02-21 13:06:19

回答

0

試試這個,

protected void TakePhoto() { 

     Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 

     File photo = new File(Environment.getExternalStorageDirectory() 
       + "/LiveChat", "IMG_temp.jpg"); 
     System.gc(); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo)); 
     imageUri = Uri.fromFile(photo); 
     startActivityForResult(intent, 1); 

} 

    protected void onActivityResult(int requestcode, int resultcode, Intent data) { 

     if (resultcode == RESULT_OK) { 
      System.gc(); 
      switch (requestcode) { 
      case 0: 

     //ADD YOUR STUFF 
        } 

     } else { 
      Toast.makeText(getApplicationContext(), "No Image Selected", 
        Toast.LENGTH_SHORT).show(); 
     } 

} 
+0

不起作用,得到同樣的東西。 ((( – JDev 2013-02-21 13:15:47

0

所以,這裏的問題是,你指定的URI照片寫在你的相機意圖。如果您提供一個URI,默認功能是不提供縮略圖 - 因爲您已經知道圖像的位置。在您的活動結果中,只需使用URI來檢索圖像。這個issue有幾個相關的帖子。

相關問題