gpt4 book ai didi

c# - 未设置 Xamarin Forms 文件提供程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:56 26 4
gpt4 key购买 nike

我目前正在学习 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:无法获取文件位置。这很可能意味着您的 Android Manifest 文件中未设置文件提供程序信息。请查看有关如何在您的项目中进行设置的文档。

我试过查找这个但无济于事。我的 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>

我的想法是我需要在这里声明一些东西,但我一直无法找到什么,而且我遵循的所有教程都没有通过设置文件提供程序来完成任何事情。

有什么建议吗?

最佳答案

自述文件说:

如果您的应用程序以 Android N (API 24) 或更新版本为目标,则必须使用 2.6.0+ 版本。

您还必须添加一些额外的配置文件以遵守新的严格模式:

1.) 将以下内容添加到标签内的 AndroidManifest.xml 中:

<provider android:name="android.support.v4.content.FileProvider" 
android:authorities="YOUR_APP_PACKAGE_NAME.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"></meta-data>
</provider>

YOUR_APP_PACKAGE_NAME 必须设置为您的应用程序包名称!

2.) 在您的 Resources 文件夹中添加一个名为 xml 的新文件夹,并添加一个名为 file_paths.xml

的新 XML 文件

添加以下代码:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-files-path name="my_images" path="Pictures" />
<external-files-path name="my_movies" path="Movies" />
</paths>

YOUR_APP_PACKAGE_NAME 必须设置为您的应用程序包名称!

您可以在以下位置阅读更多信息:https://developer.android.com/training/camera/photobasics.html

关于c# - 未设置 Xamarin Forms 文件提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48415727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com