2012-07-13 16 views
5

Aşağıdaki kodları kullanarak fotoğraf makinesinden bir fotoğraf çekin ve resmin yolunu elde edin.ACTION_IMAGE_CAPTURE ürününün amacı Samsung Galaxy Nexus'da (4.0.2) görünmüyor.

... 
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(cameraIntent, CAMERA_IMAGE_CAPTURE); // image capture 
... 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.d(TAG, "onActivityResult:" + resultCode + " request:" + requestCode); 

    switch (requestCode) { 
     case CAMERA_IMAGE_CAPTURE: 
      Uri selectedImageUri = data.getData(); 
      userImagePath = getPath(selectedImageUri); 
     break; 
    } 
} 

Emülatörde ve farklı aygıtlarda iyi çalışır. Ancak Samsung Galaxy Nexus'da (4.0.2) Camera uygulamasını başlatmıyor. Ancak onActivityResult için RESULT_OK değerini döndürür ve LogCat'ta bir istisna göremiyorum. Lütfen bu sorunu nasıl çözeceğinizi bana bildirin. Şimdiden teşekkürler!

+0

http://stackoverflow.com/questions/7277287/default-camera-activity-not-finishing-upon-ok-: resim istemek için aşağıdaki kodu kullanan My Galaxy Nexus başarıyla this sample project çalıştırabilir, button-press/14806908 # 14806908 Sadece bu bağlantıyı kontrol edin ... yardımcı olabilir ....... Sorun, dosya adı veya yolu nedeniyle olabilir (boşluk gibi özel karakterler yoksa daha iyi olurdu) – Satish

cevap

7

Sorunları etkileyebilecek EXTRA_OUTPUT eksiksiniz.

Intent i = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 

output = new File(dir, "CameraContentDemo.jpeg"); 
i.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(output)); 

startActivityForResult(i, CONTENT_REQUEST); 
+1

Merhaba, maalesef aynı örnek benim için çalışmıyor. Samsung Galaxy S1 cihazımda, onay ekranında Tamam'ı tıkladıktan sonra, niyetim benim etkinliğime geri dönmeyecek. Kaybettiğim bir numara var mı? –

+0

@TomBurger: "onActivityResult()' ile çağrılmalıdır. Değilse, belki de bir Samsung hatasıdır. – CommonsWare

+1

no, Tamam'ı tıkladıktan sonra kamera uygulamasına geri dönüyor. Yalnızca İptal'i tıkladıktan sonra etkinliğime geri geliyor. Btw, burada aynı sorun: http://stackoverflow.com/questions/8221879/how-to-go-back-from-calling-intent –