Dziś mam do czynienia z trudną rzeczą.Zapisywanie obrazu z aparatu na urządzeniu z Androidem do lokalnego przechowywania
Uruchamiam kamerę i chcę, aby zapisany obraz był zapisywany bezpośrednio w pamięci wewnętrznej bez wrzucania do niego.
File targetDir = new File(getApplicationContext().getFilesDir()+File.separator+"PROJECTMAIN"+File.separator+"SUBFORDER");
targetDir.mkdirs(); //create the folder if they don't exist
File externalFile = new File(targetDir, "picturename.jpg");
Uri imageURI = Uri.fromFile(externalFile);
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageURI);
startActivityForResult(takePictureIntent, actionCode);
Wydaje się, że gdy próbuję zapisać je bezpośrednio w pamięci wewnętrznej, aparat ignoruje moje kliknij na „OK” -button po tym, jak zrobić zdjęcie. Myślę, że coś jest nie tak z "wewnętrznym" identyfikatorem URI, ponieważ jeśli użyję Environment.getExternalStorageDirectory()
zamiast getApplicationContext().getFilesDir()
dla extra_output, wszystko działa dobrze, ale potem muszę przenieść plik później do pamięci wewnętrznej (proces przenoszenia działa dobrze do "getApplicationContext() .getFilesDir() ")
Aparat po zrobieniu zdjęcia niczego nie robi i naciska przycisk ok, aby kontynuować korzystanie z wewnętrznego identyfikatora URI ... Nie mogę uwierzyć, że jest to trudne z przechowywaniem w systemie Android.
Wszelkie pomysły? może aparat po prostu pozwala na zapisywanie zdjęć w pamięci zewnętrznej?
odsyłać wiadomość http://stackoverflow.com/questions/12193607/how-to-save-capture-image-in-sdcard –