2012-10-27 54 views
2

我有一个Xperia Neo V,它没有任何内部存储 - 只有SD卡作为外部存储,而Galaxy S3同时具有内部和外部存储。在内部和外部存储上访问文件

使用此功能时Environment.getExternalStorageDirectory();我可以访问文件只能在内部存储(S3),但有没有问题的Xperia新五

我怎么能在两个内部和外部存储访问文件?

+1

发布您的代码以便更好地理解 –

+0

通过使用上述功能,我只能访问内部存储,无法访问S3上外部Sdcard上的文件。 – user1778783

+0

通过此链接http://stackoverflow.com/questions/11716448/how-to-access-external-micro-sd-card-of-the-phone –

回答

1

我有一个新的Xperia信息v不具有任何内部存储

所有Android装置具有内部存储,包括了Xperia理学V.内部存储,其中OS和应用程序数据被存储 - - 没有它,你的手机将无法工作。

大概你用单词“external”和“removable”来解决问题。在Android术语中,“外部”意思是“可以通过在设备和主机之间插入USB电缆而由用户独立访问”。所有的Android设备都有外部存储;无论该存储是否可移动或不可变。

因此,对于Xperia Neo V,您既有内部存储器也有外部存储器,外部存储器由可移动SD卡来表示。

使用此函数时使用Environment.getExternalStorageDirectory();我可以访问文件只能在内部存储(S3),但与新的Xperia五

这是因为getExternalStorageDirectory()返回该设备的外部存储目录没有问题。

如何访问内部和外部存储上的文件?

使用getExternalStorageDirectory()可以访问外部存储。使用getFilesDir()来获取应用程序的内部存储部分。

对于具有多种外部存储形式的设备(例如Galaxy S3),Android SDK仅支持访问由getExternalStorageDirectory()提供的其中一种设备。

+0

有趣。那么,如果您取出SD卡并拍照,那么这些照片将被存储在不可移动的外部存储设备上?现在,如果你把SD卡重新插入,你会失去对这些照片的访问权限,直到我们删除了该卡片?或者这是如何工作的? – trusktr

+1

@trusktr:“那么,如果你删除了SD卡并拍照,那么这些照片将被存储在不可移动的外部存储上?” - 你将不得不问具体的相机应用程序的作者。 “现在,如果你把SD卡重新插入,你会失去对这些照片的访问权限,直到我们删除了该卡片,或者它是如何工作的?” - 再次,你将不得不问问具体相机应用程序的作者。有数以千计的相机应用程序,所以这将需要一些时间。 – CommonsWare

+0

那么我们来考虑一个使用'Environment.getExternalStorageDirectory()'设置它的工作路径的相机应用程序。该应用程序在该方法返回的目录中创建一个DCIM文件夹,并将所有照片存储在DCIM中。如果SD卡存在,则DCIM文件夹将位于SD卡上。如果移除了SD卡,则会在内部“外部存储器”的某个位置创建一个新的DCIM文件夹。当SD卡重新放入手机时,设备中现在会有两个DCIM文件夹。一个文件夹被识别,而另一个被忽略? – trusktr