Не удается создать файл для съемки с помощью камеры в Android - PullRequest
0 голосов
/ 14 марта 2012

Я использую следующий код и не хочу хранить изображения на SDCard.я получаю исключение, файл или каталог не найдены.Пожалуйста, дайте мне подсказку, где я не прав! @!

  case 0:
        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        try {
           photo = this.createTemporaryFile("Temp", ".jpg");
           intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
        } catch(Exception e) {
           Log.v("Error", "Can't create file to take picture!");
           break;
        }
        startActivityForResult(intent, RESULT_CAMERA_SELECT);
        break;
  case 1: 
        intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        startActivityForResult( intent, RESULT_MEMORY_SELECT );
        break;
  default:
        break;
        }
   }


    private File createTemporaryFile(String part, String ext) throws Exception
    {
        File tempDir= Environment.getRootDirectory();
        tempDir=new File(tempDir.getAbsolutePath()+"/.temp/");
        if(!tempDir.exists())
        {
            tempDir.mkdir();
        }
        return File.createTempFile(part, ext, tempDir);
    }

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 14 марта 2012

Убедитесь, что вы поставили разрешение на запись во внешнее хранилище.

и как насчет создания файла таким образом:

String filePath= Environment.getExternalStorageDirectory()+"/myPic.jpeg";
File file=new File(filePath);
Uri output=Uri.fromFile(file);
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, output);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);

Этот код работает для меня ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...