为什么应用程序在Xamarin的SD卡上时本地存储路径不改变?

为什么应用程序在Xamarin的SD卡上时本地存储路径不改变?,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我有Xamarin表格申请表。我正在使用PCL存储从web保存图像。此存储文件系统.Current.LocalStorage的路径为: /data/user/0/com.MyApp/files 在我的Android手机上,当我进入设置->应用程序管理->我的应用程序->存储->使用的存储->更改并将应用程序放入SD卡时,本地存储的路径不会更改。它仍然是: /data/user/0/com.MyApp/files 为什么没有更改?本地存储文件夹将始终保持不变,它不是动态的,也不取决于应用程序的运行

我有Xamarin表格申请表。我正在使用PCL存储从web保存图像。此存储文件系统.Current.LocalStorage的路径为:

/data/user/0/com.MyApp/files

在我的Android手机上,当我进入设置->应用程序管理->我的应用程序->存储->使用的存储->更改并将应用程序放入SD卡时,本地存储的路径不会更改。它仍然是:

/data/user/0/com.MyApp/files

为什么没有更改?

本地存储文件夹将始终保持不变,它不是动态的,也不取决于应用程序的运行位置

我怀疑这可能是一个命名问题,也可能是指微软用本地和漫游文件夹实现的类似概念。本地文件夹将保留在您运行的本地设备上,但仍位于固定位置,并且漫游文件夹的内容可以跨多个设备或平台同步。但这最后一部分只是我的猜测

如果要写入其他文件夹,则必须超出PCLStorage并开始写入。有关SpecialFolder枚举列表,请参见文档页。在Xamarin论坛上还有一些关于旧论坛的有用信息

编辑


当然,我们可以看到回购代码中发生了什么。您可以看到,对于Android,LocalStorage文件夹是Android上的MyDocuments文件夹。正如您自己所发现的,这将始终映射到同一文件夹。如果您想在SD卡上保存某些内容,您必须自己处理。

为什么您希望这样做?我希望所有应用程序文件都从内部存储移动到SD卡,并且LocalStorage路径成为SD卡上的某个路径。如果需要,我相信您可以使用System.IO写入任意磁盘位置,但是localStorage总是放在同一个地方。那个地方总是在内部存储中?所以localStorage总是在内部存储中?即使应用程序在SD卡上,它也不可能在SD卡上?请参阅我的答案附录