2013-05-08 14 views
8

Dodanie ścieżki do pliku w celu uchwycenia obrazu powoduje awarię aplikacji aparatu na TF300t tabletzie z systemem Android w wersji systemu 4.2.1. Naciśnięcie przycisku "done" nic nie robi - nawet zamknięcie aktywności aplikacji aparatu. Wynik nie jest zwracany.Robienie zdjęć "po prostu" nie działa

Kod mi stosując ekstrahowano z Adroid developers site

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
File imageFile = createImageFile(); 
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile)); 
startActivityForResult(cameraIntent, THIS_CAMERA_REQUEST); 

z createImageFile() zdefiniowany jako:

private File createImageFile() throws IOException { 
    File outputDir = getBaseContext().getCacheDir(); 

    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
    String imageFileName = "photo_" + timeStamp + "_"; 
    File image = new File(outputDir, imageFileName); 

    return image; 
} 

Gdy linia

cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(imageFile)); 

usuwa kamera aplikacja działa zgodnie z oczekiwaniami.

Czy jest możliwe rozwiązanie tego problemu? Wolałbym nie budować samej kamery tylko po zrobieniu zdjęcia.

Odpowiedz

4

Problematyczne linia:

File outputDir = getBaseContext().getCacheDir(); 

Mam zastąpił go:

private File createImageFile() throws IOException { 
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
    String imageFileName = "1mind_" + timeStamp + ".jpg"; 
    File photo = new File(Environment.getExternalStorageDirectory(), imageFileName); 
    return photo; 
} 

Okazuje się, obraz ma być zapisany na pamięci zewnętrznej nie w pamięci podręcznej reż.

+2

Wystąpił ten sam problem. Bardzo zwodniczy błąd bez komunikatu o błędzie. Próbowałem zapisać zdjęcie bezpośrednio w pamięci prywatnej mojej aplikacji i to nie koniec. Dzięki za twój wpis. –

Powiązane problemy