2011-07-01 5 views
1

イムは、カメラのアクティビティを呼び出すいくつかのアプリを構築し、Webサーバに送信...アンドロイドカメラからのテイク絵と

イムちょうど私のアプリから写真を撮ると、Webサーバに送信する。..

けどトライは、画像のパスを取得する際に...

イムは、常にNullExceptionエラーを取得し、私のイメージのパスを取得することはできません。..

カメラアクティビティを呼び出すときに、ここに私のコードです:

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    this.startActivityForResult(camera, PICTURE_RESULT); 

、これは活動結果のコードです:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == PICTURE_RESULT){ 
     if (resultCode == Activity.RESULT_OK) { 
      takePicture(data); 
     } else if (resultCode == Activity.RESULT_CANCELED) { 

     } 
    } 
} 

protected void takePicture(Intent data) { 
    Bundle b = data.getExtras(); 
    pic = (Bitmap) b.get("data"); 
    if (pic != null) { 
     imagePicture.setImageBitmap(pic); 
    } 
} 

は私のコードに何か問題はありますか?

ありがとうございました

+0

あなたはそう、あなたのマニフェストにカメラの権限を追加していますか? – Otra

+0

はいパスを設定しないと、 – pensilhijau

答えて

2

[OK]をクリックします。パスを最初に設定するわけではありません。この文書を見てください。あなたはそれを絵を保存しようとしているアプリケーションを伝える余分EXTRA_OUTPUTを渡していないACTION_IMAGE_CAPTURE呼び出すとき

http://developer.android.com/reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE

だから、あなたは、参照してください。このEXTRA_OUTPUTはファイルへのパスです。だから、右のあなたが意図を作る場所の下

は、次の操作を行います。

Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
URI pictureUri = Uri.fromFile(new File(<path to your file>)); 
camera.putExtra(MediaStore.EXTRA_OUTPUT, pictureUri); 
+0

の権限が追加されました。私はそれを知っている..私はそれを知って..知り合いになるでしょう – pensilhijau

+0

それは仕事のotra、ありがとう.. – pensilhijau

関連する問題