Java 更新到Android 4.4 KitKat后找不到电影文件夹

Java 更新到Android 4.4 KitKat后找不到电影文件夹,java,android,android-4.4-kitkat,android-external-storage,Java,Android,Android 4.4 Kitkat,Android External Storage,在我的应用程序中,我使用下面的代码列出存储中movies文件夹中的电影。但是,自从我将Nexus 7平板电脑升级到Android 4.4后,这段代码就不起作用了(代码末尾的土司弹出意味着代码在该文件夹中找不到任何文件,当然,我不知道它是否可以访问该文件夹)。你知道我应该改变什么或者在新的更新中改变了什么吗 private void populateSpinners() { Boolean foundVideoFiles; // videos spinn

在我的应用程序中,我使用下面的代码列出存储中
movies
文件夹中的电影。但是,自从我将Nexus 7平板电脑升级到Android 4.4后,这段代码就不起作用了(代码末尾的土司弹出意味着代码在该文件夹中找不到任何文件,当然,我不知道它是否可以访问该文件夹)。你知道我应该改变什么或者在新的更新中改变了什么吗

    private void populateSpinners() {

        Boolean foundVideoFiles;

        // videos spinner
        File videoFolder =
                Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)
                        .getAbsoluteFile();

        if (videoFolder.listFiles() != null) {
            foundVideoFiles = true; //found some files
            ArrayAdapter<File> movieAdapter = new ArrayAdapter<File>(this,
                    android.R.layout.simple_spinner_dropdown_item, videoFolder.listFiles());
            _spinner_videos.setAdapter(movieAdapter);

            //Restore perviously selected video
            int spinnerValue = _preferences.getInt("spinner_videos", -1);
            if (spinnerValue != -1) {
                _spinner_videos.setSelection(spinnerValue);
            }
        } else {
            foundVideoFiles = false;
        }

        //Error handling
        if (foundVideoFiles == false) {
            Toast.makeText(this, "ERROR: NO MOVIES WERE FOUND IN" + videoFolder, Toast.LENGTH_LONG).show();
        }
}
private void populateSpinners(){
视频文件;
//视频旋转器
文件视频文件夹=
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY\u)
.getAbsoluteFile();
if(videoFolder.listFiles()!=null){
foundVideoFiles=true;//找到一些文件
ArrayAdapter movieAdapter=新的ArrayAdapter(此,
android.R.layout.simple_微调器_下拉列表_项,videoFolder.listFiles();
_spinner_videos.setAdapter(movieAdapter);
//还原选定的视频
int spinnerValue=_preferences.getInt(“微调器视频”,-1);
if(spinnerValue!=-1){
_spinner_videos.setSelection(spinnerValue);
}
}否则{
foundVideoFiles=false;
}
//错误处理
if(foundVideoFiles==false){
Toast.makeText(这是“错误:在”+视频文件夹,Toast.LENGTH_LONG.show()中找不到电影”;
}
}

如果我使用平板电脑上的Gallery应用程序,我可以在那里看到电影,因此电影在更新过程中没有被删除。

请注意,从Android 4.4开始(根据:

在Android 4.4上运行时,您的应用程序无法读取外部存储上的共享文件,除非您的应用程序具有该权限。即,如果没有该权限,将无法访问由返回的目录中的文件

确保将该权限添加到清单中:

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

请注意,从Android 4.4开始(根据:

在Android 4.4上运行时,您的应用程序无法读取外部存储上的共享文件,除非您的应用程序具有该权限。即,如果没有该权限,将无法访问由返回的目录中的文件

确保将该权限添加到清单中:

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