2016-04-09 168 views
1

如果存在,我需要获取内部存储和SD卡的目录。但我已经搜索过,但没有找到有用的东西。我怎样才能做到这一点?我需要扫描它们的特定类型的文件。这段代码给我内部存储目录,而不是我的SD卡:获取内部存储和SD卡的目录(如果存在)

File file = new File(Environment.getExternalStorageDirectory()+"/"); 
+0

你不必任意访问[移动存储](https://commonsware.com/blog/2014/04/09 /storage-situation-removable-storage.html)在Android 4.4+上。您可以访问[内部存储]的应用程序部分(https://commonsware.com/blog/2014/04/07/storage-situation-internal-storage.html)。假设您有来自用户的许可,您还可以访问[外部存储](https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html)。欢迎您向具有特定MIME类型的文件查询'MediaStore',并且通常涵盖可移动存储。 – CommonsWare

+0

但文件管理器应用程序如何工作?他们可以访问他们两个@CommonsWare –

+0

预装文件管理器可以被设备制造商授予额外的权利。第三方文件管理器仅限于内部存储和外部存储。许多(如果不是大多数的话)Android用户只有内部和外部存储,因为许多Android设备没有可移动存储,而那些可能没有安装任何类型的卡。 – CommonsWare

回答

1

有成千上万的教程链接,Android开发者页面是许多之一,下面是链接;

http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

据我所知,你可以访问你的应用程序内部目录和查询SD卡是否安装等,但得到全面进入设备内部的风向?我怀疑它是因为它会违反用户的隐私。你甚至需要用户权限查询外部存储

+0

我已经检查了该链接,但没有帮助我做我想做的事 –

0

试试这个行:

File sd = Environment.getExternalStorageDirectory(); 
相关问题