[英]'Error capturing image' with Phonegap on Android
我需要使用我的 Phonegap 應用程序捕獲圖像。 在 iOS 上一切正常,但在 Android 上(通過 Phonegap Build)它會拋出“錯誤捕獲圖像”的錯誤。
我在 config.xml 中添加了以下幾行,但這不會改變任何內容:
<feature name="Camera">
<param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
</feature>
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="http://api.phonegap.com/1.0/camera" />
<feature name="http://api.phonegap.com/1.0/file" />
<feature name="http://api.phonegap.com/1.0/media" />
<feature name="http://api.phonegap.com/1.0/network" />
我的 API 調用如下所示:
$(document).on('click', '#cameraPreview', function() {
pictureSource = navigator.camera.PictureSourceType;
destinationType = navigator.camera.DestinationType;
navigator.camera.getPicture(onGetPictureSuccess, onGetPictureFail, {
quality: 40,
sourceType: Camera.PictureSourceType.CAMERA,
destinationType: Camera.DestinationType.FILE_URI,
allowEdit: true,
encodingType: Camera.EncodingType.JPG,
targetWidth: 1000,
targetHeight: 1000,
saveToPhotoAlbum: true,
correctOrientation: 1
});
});
我將 Phonegap 3.7 與 Phonegap Build 一起使用。
好的,現在我知道答案了。 問題是saveToPhotoAlbum: true
選項。 Android 不承認這一點。 當我刪除此選項時,一切正常。
檢查您的cordova-camera-plugin 版本。 如果它低於 4.0.1,這將通過更新最新版本來修復。 否則,我不知道。
這是一個已知問題,已經修復。 您可以在下面的鏈接中查看更多詳細信息。 https://issues.apache.org/jira/browse/CB-13781
將cordova-camera-plugin
更新到 4.0.2 或更高版本應該可以解決保存到相冊的問題。
從 Android 8 開始,在相冊中保存照片需要WRITE_EXTERNAL_STORAGE
權限,但這不是 4.0.2 之前的cordova-camera-plugin
版本所要求的。
想要查詢更多的信息:
對我來說,我必須添加這個權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
權限要求在不同版本的 Android 和不同的 SDK 版本中發生了變化。 確保為目標操作系統版本使用適當的插件版本。
對於在 Android 10 上使用 cordova-camera-plugin <=4.2.0 看到相同問題的任何人,您可以設置<preference name="android-targetSdkVersion" value="28" />
有關更多信息,請參閱此票: https : //github.com/apache/cordova-plugin-camera/issues/611
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.