startActivityForResult не работает в Android версии 4.4 (версия Kitkat)

С помощью моего приложения пользователь может выбрать файл из файлового менеджера и обработать выбранный файл (например, документ PDF) для других шагов, таких как печать или отправка по электронной почте.

Для этого я использовал приведенный ниже код для отображения намерения, из которого пользователь может выбрать файл из опции файлового менеджера.

protected void showFileChooser(String title, String type) {
        Log.i(TAG, "FileChooserActivity showFileChooser(title,type)");

        if (TextUtils.isEmpty(title)) title = getString(R.string.select_file);      
        if (TextUtils.isEmpty(type)) type = "*/*";  

        // Implicitly allow the user to select a particular kind of data
        final Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 

        // Specify the MIME data type filter (Must be lower case)
        intent.setType(type.toLowerCase()); 

        // Only return URIs that can be opened with ContentResolver
        intent.addCategory(Intent.CATEGORY_OPENABLE);

        // Display intent chooser
        try {
            startActivityForResult(
                    Intent.createChooser(intent, title),6384);
        } catch (android.content.ActivityNotFoundException e) {

            Log.i(TAG,"FileChooserActivity showFileChooser(title,type) Exception" +Log.getStackTraceString(e));
            onFileError(e);
        }
    }

Проблема в версии Android Kitkat (4.4):

Используя приведенный выше код, я могу получить доступ ко всем файлам из файлового менеджера (то есть как из подпапки, так и из корневой папки) в Android 4.3 и во всех версиях Android, кроме Android 4.4.

В Android 4.4 я могу получить доступ к файлам из корневой папки, где я не могу получить доступ к файлам из подпапок. я получилjava.io.FileNotFoundException как исключение.

Примечание: я установилAstro Файловый менеджер и через это я могу получить доступ как к корневым папкам, так и к подпапкам в Android 4.4. Но я не могу получить доступ к файлам подпапки через файловый менеджер Android по умолчанию.

Ответы на вопрос(0)

Ваш ответ на вопрос