AppData之外的Xamarin.Forms(UWP和Android)目录选择

我整天都在拔头发。我正在将WPF应用程序转换为Xamarin.Forms(UWP,IOS和Android)。我目前专注于UWP和Android(尚没有苹果设备),并且运行了很多程序,但是遇到了读取沙箱目录中未包含的文件的巨大麻烦。目前,我的应用程序允许您选择一个包含图像的文件夹,并且可以在它们之间移动。为了测试阅读功能,我将图像放入了“ LocalState”目录和宾果游戏中,我的代码运行得很漂亮。现在该程序没有默认文件夹,当我最初在WPF中创建它时,用户将弹出一个窗口,他们将选择自己的文件夹,但是我终生无法获得Xamarin的类似功能。每次尝试尝试操作时,都会收到“访问被拒绝”的信息。我已经看到Android应用允许您为仿真器选择一个文件夹,而且我100%确定可以设置UWP来使用StorageApplicationPermissions进行权限,但我只是无法使它适用于Xamarin.Forms。请帮帮我!

nange1988 回答:AppData之外的Xamarin.Forms(UWP和Android)目录选择

好的,首先使用Android更容易。您需要在清单权限中设置读写SD卡的权限。在棉花糖及更高版本上,您需要在运行时请求许可(您需要从本机项目中获得许可)。

在UWP上,最简单的操作是在清单中设置broadfileaccess。除了您指出了正确的API之外,您还需要本机运行它们。

通常,使用依赖注入来调用本机代码。如果太复杂了,您可以考虑将Xamarin.Forms项目创建为共享项目,在这里您可以使用条件编译而不是依赖注入,这非常简单。

本文链接:https://www.f2er.com/2999915.html

大家都在问