2014-11-13 3 views
0

Я пытаюсь, чтобы мое приложение сделало снимок с камеры, а затем сохраните его в памяти устройства. В приведенном ниже коде я пытаюсь получить путь к SD-карте, а затем создаю файл с данными, снятыми камерой. Тем не менее, я получаю исключение FileNotFoundException. Код работает до этого момента, и в журнале отображается количество байтов, хранящихся в данных [], поэтому я предполагаю, что камера не проблема. Любая помощь будет оценена ... спасибо!Android - Возьмите и сохраните изображение с камеры

PictureCallback jpegCallback = new PictureCallback() { 
    public void onPictureTaken(byte[] data, Camera camera) { 
     Log.d("testing", "wrote bytes: " + data.length); 

     File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 
     File file = new File(path, "Image.jpg"); 

     try { 
      OutputStream os = new FileOutputStream(file); 
      os.write(data); 
      os.close(); 

      MediaScannerConnection.scanFile(instance, new String[] { file.toString() }, null, 
        new MediaScannerConnection.OnScanCompletedListener() { 
       public void onScanCompleted(String path, Uri uri) { 
        Log.d("ExternalStorage", "Scanned " + path + ":"); 
        Log.d("ExternalStorage", "-> uri=" + uri); 
       } 
      }); 
     } catch (IOException e) { 
      Log.d("testing", "error writing file :("); 
     } finally { 
      Log.d("testing", "finally..."); 
      camera.stopPreview(); 
      camera.release(); 
      camera = null; 
      Toast.makeText(getApplicationContext(), "Image Taken!", Toast.LENGTH_LONG).show(); 
     } 
    } 
}; 

ответ

0

Вы пробовали это:

Environment.getExternalStorageDirectory().getAbsolutePath(); 

Это должно дать вам путь к сд карты.

+0

Да, я на самом деле только что осознал свою проблему ... опечатка в разрешении хаха, это все хорошо сейчас –

Смежные вопросы