【发布时间】:2018-01-24 05:58:46
【问题描述】:
我目前正在学习 Xamarin.Forms。我目前正在尝试使用 Plugin.Media.CrossMedia 库实现相机功能。
实现如下:
public async Task<ImageSource> StartCamera()
{
await CrossMedia.Current.Initialize();
if (Plugin.Media.CrossMedia.Current.IsTakePhotoSupported && CrossMedia.Current.IsCameraAvailable)
{
var photo = await CrossMedia.Current.TakePhotoAsync(new StoreCameraMediaOptions() { SaveToAlbum=false, SaveMetaData=false});
if (photo != null)
return ImageSource.FromStream(() => { return photo.GetStream(); });
else
return null;
}
else
{
return null;
}
}
但是,在执行“TakePhotoAsync”方法时,我收到以下错误。
System.ArgumentException: Unable to get file location. This most likely means that the file provider information is not set in your Android Manifest file. Please check documentation on how to set this up in your project.
我已尝试查找此内容,但无济于事。我的 AndroidManifest.xml 文件现在看起来像这样。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="RCPTTracker.Android" android:versionCode="1" android:versionName="1.0">
<uses-sdk />
<application android:label="RCPTTracker.Android"></application>
</manifest>
我的想法是我需要在这里声明一些东西,但我找不到什么,而且我遵循的所有教程都没有涉及设置文件提供程序的任何内容。
有什么建议吗?
【问题讨论】:
标签: c# android xamarin.forms android-fileprovider