CaptureError.CAPTURE_INTERNAL_ERR на Android се опитва да използва capture.captureImage

Опитвам се да напиша хибридно приложение за Android, използвайки VS 2013 актуализация 3 и разширението за хибридно приложение за множество устройства (Cordova v3.5.0). Всичко работи добре с изключение на плъгина Media Capture. Извиквам navigator.device.capture.captureImage(MediaCaptureSuccess, MediaCaptureError, { limit: 3 }), което отваря приложението за камера. Мога да направя снимка, но когато щракна върху OK на устройството, моето обратно извикване за грешка се изпълнява с CaptureError.CAPTURE_INTERNAL_ERR без друга информация. Опитах да превключа към [email protected] (в момента използвам 0.3.1), но когато се опитвам да компилирам, получавам грешка на plugman, когато се опитва да го извлече. Търсих улики в изхода за отстраняване на грешки и единственото нещо, което намерих, беше следният ред „Неизвестно разрешение android.permission.RECORD_VIDEO в пакет...“, но това изглежда е валидно потребителско разрешение. Когато гледам capture.java, генериран от компилацията, мога да видя, че тази грешка се връща, ако възникне IOException.

Някой има ли предложения как да поправя това или какво да проверя след това?


person dp22193    schedule 08.10.2014    source източник


Отговори (1)


Опитайте този плъгин

Конфигурация:

<vs:feature>[email protected]</vs:feature>

JS:

  navigator.camera.getPicture(onSuccess, onFail, {
        quality: 30,
        destinationType: Camera.DestinationType.FILE_URI,
        saveToPhotoAlbum: true
    });
person Markus_DE_HH    schedule 10.10.2014
comment
Разглеждайки кода на този плъгин, виждам, че той няма същия проблем като плъгина за улавяне на мултимедия и вероятно ще работи. Проблемът е, че искам също да мога да правя видеоклипове, които изглежда не се поддържат в приставката за камера. Изглежда, че този плъгин ще работи, защото първо се опитва да използва SD картата, докато плъгинът за заснемане на мултимедия не го прави. Основният проблем е, че cordova.getActivity().getCacheDir() извикан от getTempDirectoryPath връща /data/data/com.packagename/cache (вътрешно хранилище) и извикването на cache.mkdirs() се проваля тихо. Проблем с разрешението?? - person dp22193; 10.10.2014