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

问题描述 投票:1回答:1

MediaPlugin库创建文件

存储/模拟/ 0 / Android设备/数据/ [APP_NAME] /files/Pictures/18-Feb-19/1550503112_in.jpg

我将在以后使用什么来访问此路径中的图片?我试图避免使用硬编码的字符串...我已经尝试使用谷歌搜索但我对如何通过使用Android预定义值(如android.os.environment.datadirectorySystem.Environment.GetFolderPath(System.Environment.SpecialFolder.MyPictures);等)获取此路径感到非常困惑。

android xamarin.android
1个回答
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)

© www.soinside.com 2019 - 2024. All rights reserved.