2016-10-28 48 views
14
yanlış

üzerine galeriye kazandırıyor ve kamera galeriye resim kaydetmez zorunludur. Ancak, galeriye kaydetme parametresini false olarak ayarladığımda, yine de galeriye kaydediliyor.Cordova kamera</p> <p>Müvekkilim İon Çerçeve v1 bir Cordova uygulamasını istiyor ... hatta ben gerçekten kötü bir durumda olduğumu

Fotoğraf çektiğinizde ve iptal ettiğinizde Android'de sorun oluşuyor. Daha sonra bu resmi galeriye kaydeder ve bazen diğer tüm resimleri daha sonra kaydeder.

Her türlü yardımı beklerim; Şimdiye kadar bulduğum her şey, benim Java bilgim sıfır olduğu için anlaması gerçekten zor olan bazı çözümler.

İşte Bu kamera seçenekleri için benim JS kodu

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 

    }; 

olduğunu.

$cordovaCamera.getPicture(options).then(function (imageData) { 
     var src = "data:image/jpeg;base64," + imageData; 
     $scope.photoPreviewSrc = src; 
    }).catch(function (err) { 

    }); 
    } 
+0

Kafam karıştı - Bir Cordova uygulaması yapıyorsanız Java nereye geliyor? – EJoshuaS

+3

Iyi eklenti java'da android için yazılmıştır ... belki de java bilgisi olan birisi zaten bu problemle ilgili bir şey vardı .. – revan1990

+0

Ben de aynı şeyi doğruladım, ama beklendiği gibi çalışıyor. SaveToGallery bayrağını doğruya ayarladım. İptal edersem, resim kaydedilmez. Tamam tıklandığında, resim galeriye kaydedilir. – vbharath

cevap

2

Kodunuzu cordova kullanarak kontrol ettim. Beklendiği gibi iyi çalışıyor. Uygulamanızı diğer cihazda bir kez doğrulayın.

İyonik platformda kontrol etmedim. the docs itibaren

navigator.camera.cleanup(onSuccess, onFail); 

function onSuccess() { 
    console.log("Camera cleanup success.") 
} 

function onFail(message) { 
    alert('Failed because: ' + message); 
} 

:

+1

ile sorumu güncelledim Savetogallery öğesini false olarak ayarladığınızda ve resmi çektikten sonra iptal ederseniz, onu galeriye kaydettiremezsiniz? – revan1990

+0

Hayır. İptal ettiğinizde, kamera tekrar çekimi gösterir. Resim galeriye kaydedilmedi. Diğer cihazda bir kez doğrulayın – vbharath

+0

lg g4, samsung s7 edge ve başka bir htc cihazında aynı davranış .. – revan1990

0

Sen görüntü verilerini aldıktan sonra aşağıdaki gibi bir şey çalıştıran deneyebilirsiniz. "camera.cleanup()camera.getPicture çağrıldıktan sonra geçici depolama tutulur ara resim dosyalarını kaldırır seçildiğinde geçerli Camera.sourceType değeri Camera.PictureSourceType.CAMERA ve Camera.destinationType'un değeri Camera.DestinationType.FILE_URI'a eşittir. "

Yukarıdakiler doğrudan kullanım durumunuzla ilgilidir.

+1

Gördüğüm kadarıyla, bu seçenek sadece IOS için geçerlidir ... – revan1990

+0

Ah, haklısınız. Bunun için üzgünüm! –

0

Fotoğraf galerisine mi gidiyor yoksa sadece Android'in fotoğraf uygulamasında mı görünecek? Android varsayılan fotoğraf tarayıcısı, tüm fotoğrafları, ekran görüntülerini vb. Gösterecektir. Ayrıca, diğer Uygulamalar'ın dosya sisteminde sahip olabileceği, ancak fotoğrafların olmadığı sadece rastgele resimler gösterecektir.

Cordova'da işletim sistemi üzerinde büyük bir kontrole sahip olmadığınızdan, etraftaki bir çalışmayı kullanabilirsiniz: Görüntüleri gizli bir dizine yerleştirebilirsiniz (. gibi .appdata ile başlayan) ve bu işlem Android'in otomatik olarak çalışmasını engeller. "Galeri" uygulamasından görüntüleri görmek. İyonik bir uygulamada bu sorunu yaşadım ve bu şekilde çözdüm.

+0

Görüntüleri depolama/öykünmeli/0/DCIM/Kameraya koyuyor. Bu çözümü, değişen görüntü yolu ile nasıl yönettiniz, bana ipucu verebilir misiniz? – revan1990

+0

Bunları gizlemek istiyorsanız, bunları /storage/emulated/sdcard/.mdir veya buna benzer bir şey olarak ekleyebilirsiniz. – EdH