2011-08-14 15 views
5

カメラを使用する方法はありますか?一時的に画像を保存するだけですか?私はその後、私が撮影した画像を取得するために()onActivityResult使用しています、カメラをロードするには、次のコードを使用しています(もしあれば...)カメラの意図を開始しますが、画像を保存しません

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 

問題は、画像が撮影されますされていること、 SDカードに保存されます。

EDIT

画像を取得することはありませんHowver私は

File imageFile = new File(imagePath); 
imageFile.delete(); 

を使用していたときの活動データを返します(onActivityResult)の意図は、次のコード

String imagePath; 

imagePath = Environment.getExternalStorageState() + "/images/myimage.jpg"; 
File file = new File(imagePath); 
Uri outputFileUri = Uri.fromFile(file); 

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); 

によって呼び出されます削除されました。また、私のギャラリーアプリケーションに向かうと、画像にデフォルトの名前(image57465.jpgなど)がありますが、私はcameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);が実際に動作していないと思います。

EDIT 2

は実際には、ファイルはSDカードに保存され、そして正しく削除しました。ただし、サムネイルが保存されているようです。私はそれを使用した後、私はそれを削除することができますので、サムのパスを取得するアイのアイデア?

答えて

5

をファイル(変数)を削除あなたはそれを使用し終わったら?カメラAPI仕様を素早くチェックしただけで、イメージに一時的なフラグを立てることができることはわかりません。

は、以下のことを試してみてください。

public onActivityResult(int request, int result, Intent data) { 

    if(request == CAPTURE_IMAGE) { 

     if(result == RESULT_OK) { 

      /*Use the image in the way you want to here and save the path */ 

      //Delete the image 
      File image = new File(path); 
      image.delete(); 

     } 

    } 

} 

は、それはあなたのために働くなら、私に教えてください。

+0

'path'はどこから来たのでしょうか? – dotty

+0

コードを更新しました。上記を参照してください。 – dotty

1

変数へのキャプチャ&省、店舗のImagePathの時とあなたの活動が行われたら、あなたは、単に画像を削除することはできません、まあストレージから

File mFile=new File(variable); 
mfile.delete(); 
+0

私のコードを更新しました。どうぞご覧ください。 – dotty

+0

これを置き換えます imagePath = Environment.getExternalStorageState()+ "/images/myimage.jpg"; と imagePath = getExternalStorageDirectory()+ "/images/myimage.jpg"; もう一度お試しください –

関連する問題