大多数平台版本不可知的方式来获取特定的文件路径?

时间:2019-02-18 10:59:55

标签: android xamarin.android

MediaPlugin库在以下位置创建文件

  

storage / emulated / 0 / Android / data / [app_name] /files/Pictures/18-Feb-19/1550503112_in.jpg

稍后我将使用什么来访问此路径中的图片? 我试图避免使用硬编码的字符串...我曾尝试对其进行谷歌搜索,但对于如何使用Android预定义值(例如android.os.environment.datadirectory或{{1 }}等

1 个答案:

答案 0 :(得分:1)

Android将文件系统分为两种不同的存储类型:

1 Internal Storage –这是文件系统的一部分,只能由应用程序或操作系统访问。

您可以使用以下代码访问内部存储

System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyPictures)

路径是这样的:

/data/user/0/MyApp.Android/files/data/data/{package name}/files

2 External Storage –这是用于存储文件的分区,所有应用程序,用户以及可能的其他设备均可访问该文件。在某些设备上,外部存储设备可能是可移动的(例如SD卡)。

您可以使用如下代码访问外部存储

Android.Content.Context.GetExternalFilesDir(Android.OS.Environment.DirectoryPictures)

路径是这样的

/storage/emulated/0/Android/data/{package name}/files

因此您可以看到Media Plugin创建的路径是外部存储路径。您可以使用

访问它

Android.Content.Context.GetExternalFilesDir(Android.OS.Environment.DirectoryPictures)