我正在尝试使用此功能获取Phone Pictures文件夹中存在的文件列表(内部存储,未插入SDCard):
File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File[] files = file.listFiles();
但文件值始终为null。 我还将其添加到AndroidManifest.xml
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
任何想法都会非常感谢,提前谢谢。
答案 0 :(得分:1)
如果您要定位Android SDK&gt; = 23,则需要在运行时获得权限。
https://developer.android.com/training/permissions/requesting.html
答案 1 :(得分:0)
它返回null,因为Environment.getExternalStoragePublicDirectory
将/应该处理来自外部存储器的文件,如SD卡..如果你说没有插入SD卡
答案 2 :(得分:0)
正如Abhishek Aryan所说,我使用Android SDK&gt; = 23所以我必须使用代码获取权限:
boolean grantedAll = ContextCompat.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
if (!grantedAll)
{
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
REQUEST_PERMISSIONS);
}