Android Файл.mkdirs () не работает без ошибки

Я скопировал следующий фрагмент кода из демонстрационного приложения graphhopper, но когда я использую его в новом приложении, он не работает.

        boolean greaterOrEqKitkat = Build.VERSION.SDK_INT >= 19;
    if (greaterOrEqKitkat) {
        if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
            logUser("GraphHopper is not usable without an external storage!");
            return;
        }
        mapsFolder = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),
                "/folder/maps/");
    } else
        mapsFolder = new File(Environment.getExternalStorageDirectory(), "/folder/maps/");


    if (!mapsFolder.exists()){
        mapsFolder.mkdirs();}

Я также добавил следующие разрешения:

    <uses-permission android_name="android.permission.WRITE_EXTERNAL_STORAGE" />

Я совершенно сбит с толку, почему это работает в демо-приложении, но не в приложении, которое я пишу. Я надеюсь, что кто-то может помочь мне решить эту проблему.

1 ответ

  1. Аппаратно я не предоставлял разрешения, необходимые для устройства, на котором я тестировал. Спасибо TK52 за указание мне в правильном направлении, чтобы проверить их!