2011-08-14 16 views
5

Fotoğraf makinesini kullanmanın bir yolu var mı, yoksa yalnızca görüntüyü geçici olarak mı kaydediyorsunuz? Sonra ben çekilen görüntü elde etmek için() onActivityResult kullanıyorum, kamera yüklemek için aşağıdaki kodu kullanıyorum (varsa ...)Fotoğraf makinesinin amacını başlatın, ancak görüntü kaydetme

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

sorun görüntü alınıyor olması, SD karta kaydedilir.

DÜZENLEME görüntü alır asla Howver ben

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

aktivite döner verileri (onActivityResult) kullanıyorum zaman niyet aşağıdaki kodla

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); 

tarafından çağrılan

silindi. Ayrıca, galeri uygulamasına gidersem, resim varsayılan bir addaydı (image57465.jpg gibi), cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);'un çalışmakta olduğunu sanmıyorum.

DÜZENLEME 2

Aslında dosya sdcard kaydediliyor ve doğru olarak silinir. Ancak, küçük resmin kaydedilmiş gibi görünüyor. Ay fikri minik resim yolunu nasıl alacağım, böylece kullandıktan sonra onu silebilirim? yakalama & tasarrufu, değişkene ve etkinlik depolama

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

cevap

5

Eh dosyayı (değişken) kaldırmak sonra bittiğinde mağaza ImagePath sırasında

+0

Nereden geliyor? – dotty

+0

Kodumu güncelledim, yukarı bakın. – dotty

1

, sadece görüntüyü silemezsiniz Bunu kullanırken bittiğinde? Camera API spesifikasyonunu hızlı bir şekilde kontrol ettim ve bir resmi geçici olarak işaretleyebileceğinizi gösteren bir şey bulamadım.

aşağıdaki deneyin:

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(); 

     } 

    } 

} 

sizin için yürürse bana bildirin.

+0

Kodumu güncelledim, lütfen bir göz atabilir misiniz? – dotty

+0

bu görüntüyle değiştirinPath = Environment.getExternalStorageState() + "/images/myimage.jpg"; ile imagePath = getExternalStorageDirectory() + "/images/myimage.jpg"; tekrar dene arkadaş –

İlgili konular