Я знаю, что это старая вещь, но, похоже, я не нашел способа управлять ею...
Мне нужно сделать снимок камеры для более поздняя обработка ввода-вывода, перенос его в сетевую папку, но до этого я много раз терпел неудачу...
После некоторого чтения здесь я нашел способ действительно сделать это на KitKat, проверяя работающий SDK, и это работает.. но сейчас я тестирую его и на устройстве Nougat..
Я читал, что для Nougat следует использовать поставщика, и я пытаюсь это сделать. ..
захваченное изображение ДОЛЖНО храниться в определенной папке, которая называется
"/storage/emulated/0/InsulinPower/amSignTool/Data"
для последующей обработки ввода-вывода... поэтому я думаю, что необходимо использовать что-то похожее на
, в настоящее время не рассматривающееся..
Я просмотрел определение провайдера для всех "область", но не могу получить нужный мне ответ, и более того, я получаю исключения.. при определении URI поиска я получаю
java.lang.reflect.IndictionTargetException
java .lang.IllegalArgumentException: не удалось найти настроенный корень, содержащий /storage/emulated/0/InsulinPower/amSignTool/Data/XCAMX-201805171828082115829615.jpg
в file_paths. Я попробовал все отключить, как вы можете видеть... но это работает только в том случае, если я ссылаюсь на external-path, а НЕ external-path-files, который действительно кажется мне нужным. .external-path
код тривиален....
Код: Выделить всё
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (cameraIntent.resolveActivity(getPackageManager()) != null) {
File pictureFile = null;
try {
pictureFile = GENERIC.amPictureFile(this);
} catch (IOException ex) {
// Error occurred while creating the File
Toast.makeText(this, "Create file failed!", Toast.LENGTH_SHORT).show();
}
if (pictureFile != null) {
//https://stackoverflow.com/questions/40087944/content-uri-crashes-camera-on-android-kitkat
if (Build.VERSION.SDK_INT
Подробнее здесь: [url]https://stackoverflow.com/questions/50396874/provider-on-storage-emulated-0[/url]
Мобильная версия