为什么无法获取我的目录中的文件列表?

时间:2016-10-30 15:03:02

标签: android android-file

我正在使用Android新项目。

这是我的代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (isExternalStorageReadable()) {
            File meetings = getDocumentsStorageDir("Meetings");

            if (meetings != null && meetings.exists()) {
                if (meetings.isDirectory()) {
                    String[] list = meetings.list();
                }
            }
        }

    }

    public boolean isExternalStorageReadable() {
        String state = Environment.getExternalStorageState();
        return Environment.MEDIA_MOUNTED.equals(state) ||
                Environment.MEDIA_MOUNTED_READ_ONLY.equals(state);
    }

    public File getDocumentsStorageDir(String albumName) {
        File file = new File(Environment.getExternalStoragePublicDirectory(
                Environment.DIRECTORY_DOCUMENTS), albumName);
        if (!file.mkdirs()) {
            Log.e("TAG", "Directory not created");
        }

        return file;
    }

    @Override
    protected void onResume() {
        super.onResume();
    }
}

我的meetings对象不是nullexists以及isDirectory。但我无法获取此目录旁边的文件列表。

我的list对象为空

我已设置以下权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

1 个答案:

答案 0 :(得分:0)

如果targetSdkVersion为23或更高,您需要handle runtime permissions dangerous权限,例如READ_EXTERNAL_STORAGE。仅仅<uses-permission>元素是不够的。