Ответ 1
Я проверил ваш код с помощью кордовы. Он отлично работает, как и ожидалось. Проверяйте приложение на другом устройстве один раз.
Я не проверял его на ионной платформе.
Я в очень неприятной ситуации...
Мой клиент хочет использовать приложение Кордовы в Ionic Framework v1, и необходимо, чтобы камера не сохраняла изображения в галерее. Однако, когда я устанавливаю параметр для сохранения в галерею на значение false, он по-прежнему сохраняет в галерее.
Проблема возникает на Android, когда вы делаете снимок и отменяете его. Затем он сохраняет эту картину в галерее, а иногда даже сохраняет все остальные фотографии после этого.
Я действительно приветствовал бы любую помощь; Все, что я нашел до сих пор, - это некоторые решения, которые мне очень трудно понять, поскольку мои знания Java равны нулю.
Вот мой код JS
function capturePhoto() {
var maxDimension = 1280;
var options = {
quality: 80,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA,
correctOrientation: true,
targetWidth: maxDimension,
targetHeight: maxDimension,
saveToPhotoAlbum: false
};
Это для параметров камеры.
$cordovaCamera.getPicture(options).then(function (imageData) {
var src = "data:image/jpeg;base64," + imageData;
$scope.photoPreviewSrc = src;
}).catch(function (err) {
});
}
Я проверил ваш код с помощью кордовы. Он отлично работает, как и ожидалось. Проверяйте приложение на другом устройстве один раз.
Я не проверял его на ионной платформе.
После получения данных изображения вы можете попробовать запустить что-то вроде следующего:
navigator.camera.cleanup(onSuccess, onFail);
function onSuccess() {
console.log("Camera cleanup success.")
}
function onFail(message) {
alert('Failed because: ' + message);
}
Из docs: "camera.cleanup()
Удаляет промежуточные файлы изображений, хранящиеся во временном хранилище после вызова camera.getPicture
. Применяется только тогда, когда значение Camera.sourceType
равно Camera.PictureSourceType.CAMERA
, а Camera.destinationType
равно Camera.DestinationType.FILE_URI
."
Вышеуказанное относится непосредственно к вашему прецеденту.
Действительно ли это происходит в фотогалерее или просто появляется в приложении для Android-фото? В браузере фотографий по умолчанию Android будут показаны все фотографии, скриншоты и т.д. Также будут отображаться только случайные изображения, которые другие приложения могут иметь в файловой системе, но это не фотографии.
Поскольку в кордове у вас нет большого контроля над ОС, вы можете использовать работу: вы можете поместить изображения в скрытый каталог (начиная с .
такой .appdata
), и это предотвратит Android автоматически видит изображения из приложения "Галерея". У меня была эта проблема в Ионном приложении и так решила.