我正在尝试在 Android 应用程序中使用 Ionic (v7) 中的电容相机插件(尚未在 iOS 中进行测试,但在 Web 上没有问题)。这是获取图像的代码:
const image = await Camera.getPhoto({
quality: 100,
allowEditing: true,
resultType: CameraResultType.DataUrl,
source: CameraSource.Camera,
saveToGallery: false,
});
当我尝试运行相机时,收到此错误消息:
Error: Unable to create photo on disk
我的 AndroidManifest 中有此设置:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.MANAGE_MEDIA" />
<uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />
<uses-feature android:name="android.hardware.camera.any" android:required="true" />
<uses-feature android:name="android.hardware.location.gps" android:required="true"/>
非常欢迎任何帮助。
这是解决方案: 找不到权威提供商的元数据
这是来自 Android Studio 的消息:
无法在磁盘上创建照片 java.lang.IllegalArgumentException:无法在 androidx.core.content.FileProvider.getFileProviderPathsMetaData(FileProvider.java:664) 处找到具有权限 my.example.app.fileprovider 的提供者的元数据.core.content.FileProvider.parsePathStrategy(FileProvider.java:695) 在 androidx.core.content.FileProvider.getPathStrategy(FileProvider.java:645) 在 androidx.core.content.FileProvider.getUriForFile(FileProvider.java:449)
您缺少 FileProvider。即使 saveToGallery 设置为 false,图像也必须保存到设备。您只是无法从图库访问它们。