我正在编写Android应用。如果我识别出物理SD卡(请参阅后面的代码),我会提供将文件数据保存到卡中(数据为300MB-800MB)。我会使用“特定于应用程序的目录”,系统会在用户卸载应用程序时删除。如果我无法使用代码识别SD,我只是不提供这种可能性。
我正在使用Android Studio 3.0.1(但3.1中的问题相同)和AVD(外部文件中的SD)。
在API25之前,以下代码正确识别SD卡:
File[] ExternalStorage = ContextCompat.getExternalFilesDirs( myContext, null );
从AVD API26开始,无法识别“物理SD”。 行之后:
ExternalStorage[0] = /storage/emulated/0/Android/data/my.app/files
ExternalStorage[1] = /storage/10E7-191B/Android/data/my.app/files
我在调试器中看到API25:
ExternalStorage[0] = /storage/emulated/0/Android/data/my.app/files
但仅适用于API26:
userSearch.Expand = userSearch.Expand.Select(x => x.ToUpper()).ToArray();
使用Android Studio“设备文件浏览器”我看到:
有什么建议吗?
非常感谢