2016-11-29 50 views
0

I need something like this如何在我的列表视图同时显示装置和外部存储

我想表明无论是在我的活动一开始内部和外部存储。

我正在使用路径“/ mnt /”来获取,但不幸的是这只列出了内部存储。

我也试过以下,但它不工作。

Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); 
if(isSDPresent) 
{     
     path=android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); 
} 
else 
{ 
     path = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); 
} 

回答

1

要获得对EXTERNAL_STORAGE的访问权限,您需要拥有该权限。

写入此路径需要WRITE_EXTERNAL_STORAGE权限,并且以读取权限开始需要READ_EXTERNAL_STORAGE权限,如果您拥有写入权限,则会自动授予权限。

如果你只是想表明,有你也可以使用

开始在奇巧,如果你的应用程序只需要存储的内部数据,请考虑使用getExternalFilesDir(String)或getExternalCacheDir一个外部存储(),它不需要读取或写入权限。

并取出getAbsoultePath()因为Environment.getExternalStorageDirectory()会给出正确的一个

见我不能够在同一时间同时显示内部存储和SD卡的例子

https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()

+0

的文档。我所做的只是只能显示内部存储器。我已经给予所有许可和所有。 –

相关问题