【发布时间】:2023-04-05 06:21:02
【问题描述】:
我一直在尝试使用 PhoneGap 功能用我的 Android 手机拍照并将其保存到手机的图库中。我没有任何问题让他们的完整示例项目启动并运行,但代码永远不会保存图像。我们在 Iphone 上进行了测试,没有任何问题,所以我想知道是我做错了什么还是这是另一个 Android 问题。
以下是我根据我在网上看到的情况采取的步骤。
添加到 app/res/xml/config.xml 文件中<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />
添加到清单文件
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
更改 getPicture() 中的选项以包含“saveToPhotoAlbum”选项
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
destinationType: destinationType.DATA_URL, saveToPhotoAlbum: true });
我也尝试将目标类型更改为 FILE_URI,但仍然没有成功。该应用程序仍然可以显示捕获的图像,所以我知道它已经到了那么远,我只是不知道为什么它没有保存到图库中。
【问题讨论】:
-
我不再熟悉 phonegap,但 phonegap 尝试用来创建图像的路径可能不存在,或者在创建图像期间可能无法访问该文件路径,所以图像数据被保存到一个位图中,该位图被放在屏幕上,但是当 phonegap 试图将图像保存到文件时它失败了。您可能想编写自己的本地方法来保存图像。我不知道在没有sdcard之类的情况下phonegap方法是否会自动保存到appdata,所以你自己的native方法可能是最好的方法。
-
你试过this吗?我试过了,它没有任何问题。将
movePic()函数放在成功处理程序的末尾 -onPhotoDataSuccess()。将FILE_URI作为参数传递给movePic(FILE_URI)函数调用。看看它是否适合你。
标签: android camera cordova save getpicture