Чем отличается доступ к файловой системе между KitKat 4.2 и Nougat 7.1.1? - PullRequest
0 голосов
/ 22 октября 2018

У меня есть приложение HTMLSpyII, которое я разработал несколько лет назад, когда я был абсолютным новичком в программировании Android.Как бы то ни было, через несколько лет я не занимался программированием, он работал на моем Samsung S4 mini KitKat 4.4.2, но он не будет работать на моем Samsung Tab E Nougat 7.1.1.Я уверен, что мне не хватает чего-то простого.

Программа пытается создать каталог / HTMLSpyII / Jsoup в каталоге загрузок устройства.Он выводит этот двухстрочный runTimeAlert из последней строки следующего фрагмента кода ...
Невозможно создать путь
/ storage / emulated / 0 / Download / HTMLSpyII / Jsoup

Вотфрагмент кода, который является частью onCreate ...

    private File root;
    private String urlString, tokenString;
    private EditText url, token;
    ...
 root = Environment.getExternalStoragePublicDirectory(
            Environment.DIRECTORY_DOWNLOADS + "/HTMLSpyII/Jsoup");
        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            urlString = extras.getString("urlKey");
            url.setText(urlString);
            tokenString = extras.getString("tokenKey");
            token.setText(tokenString);
            if (getIntent().hasExtra("redirectsKey"))
                followRedirects = extras.getBoolean("redirectsKey");
            else
                followRedirects = true;
            if (getIntent().hasExtra("rootKey"))
                root = new File (extras.getString("rootKey"));
        }
        if (!root.exists()) root.mkdirs();
        if (!root.isDirectory())
            runTimeAlert("Unable to create path\n" + root.toString())

Надеюсь, вы можете помочь :)

1 Ответ

0 голосов
/ 26 октября 2018

Я наконец-то обнаружил, что ответ на мой вопрос включает проверку прав доступа во время выполнения.Это было новым для меня.Ответ предоставлен Tarun, в этом сообщении StackOverflow ...
Разрешение запроса Android-зефира?
Ответ Tarun довольно далек, поэтому его проще всего найти, выполнив поиск по сообщению с именем Tarun.;и нашел здесь также ... http://revisitingandroid.blogspot.com/2017/01/how-to-check-and-request-for-run-time.html

...