Android mkdirs()无法正常工作

JTK

我正在开发我的第一个Android应用程序,尝试创建目录来保存录制的视频文件时遇到问题。

我的主要活动buttonOnClickRecord有一个方法可以调用使用android相机的意图,我也在此方法调用期间创建了一个文件,并mkdirs()在其上调用该方法以创建用于存储文件的目录。

我也在<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />清单中实现了。

public void buttonOnClickRecord(View v){
        mediaFile =
                new File(Environment.getExternalStorageDirectory().getAbsolutePath()
                        + "/NewDirectory/myvideo.mp4");
        mediaFile.mkdirs();

        Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
        if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {

            Uri videoUri = Uri.fromFile(mediaFile);
            takeVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
            startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);
        }
    }

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK) {

            Toast.makeText(this, "Video saved to:\n" +
                    data.getData(), Toast.LENGTH_LONG).show();
        } else if (resultCode == RESULT_CANCELED) {


  Toast.makeText(this, "Video recording cancelled.",
                Toast.LENGTH_LONG).show();
    } else {
        Toast.makeText(this, "Failed to record video",
                Toast.LENGTH_LONG).show();
    }
}

如果删除/NewDirectory/视频文件,则该视频文件将保存到sd卡的根目录中,并且从我的onActivityResult方法中收到一条消息,提示您该影响

但是/NewDirectory/添加后,我将视频保存到:content:://media/external/video/media/15625

mediaFile.mkdirs();不创建目录。

我哪里出问题了?

黑带

您正在尝试创建一个名为的目录myvideo.mp4

mediaFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath()
                        + "/NewDirectory/myvideo.mp4");
mediaFile.mkdirs();

应该

File(Environment.getExternalStorageDirectory(), "NewDirectory");
mediaFile.mkdirs();

或更好

mediaFile = new File(getExternalCacheDir(), "NewDirectory");
mediaFile.mkdirs();

在这里您可以找到有关的文档getExternalCacheDir()

请注意,不再允许从kitkat写入sdcard的根目录。

编辑:该文件的路径应为:

mediaFile = new File(getExternalCacheDir(), "NewDirectory");
File file = new File(mediaFile, "myvideo.mp4");
Uri videoUri = Uri.fromFile(file);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android mkdirs()SD卡无法正常工作

来自分类Dev

Android AccelerateDecelerateInterpolator无法正常工作

来自分类Dev

Android ScrollView无法正常工作

来自分类Dev

Android HttpResponseCache无法正常工作

来自分类Dev

Android on Onclick无法正常工作

来自分类Dev

Android Listview无法正常工作?

来自分类Dev

Android weightsum无法正常工作

来自分类Dev

Android GeomagneticField无法正常工作

来自分类Dev

setTitle无法正常工作的Android

来自分类Dev

Android onConfigurationChanged无法正常工作

来自分类Dev

Android意向无法正常工作

来自分类Dev

Android TimePicker无法正常工作

来自分类Dev

httpPost无法正常工作的android

来自分类Dev

Android版式无法正常工作

来自分类Dev

android图形无法正常工作

来自分类Dev

Android setOnEditorActionListener无法正常工作

来自分类Dev

“ android:maxSdkVersion”无法正常工作

来自分类Dev

setTitle无法正常工作的Android

来自分类Dev

Android RadioGroup无法正常工作

来自分类Dev

android:layout_below无法正常工作

来自分类Dev

Android:Firebase ChildEventListener()无法正常工作

来自分类Dev

Android应用| MySQL日志无法正常工作

来自分类Dev

Android:ViewGroup.MarginLayoutParams无法正常工作

来自分类Dev

Facebook requestNewPublishPermissions Android无法正常工作

来自分类Dev

BroadcastReceiver中的Android onReceive无法正常工作

来自分类Dev

Android ListView在Gingerbread上无法正常工作

来自分类Dev

Android Studio中的OpenCV无法正常工作?

来自分类Dev

Phonegap TTS插件Android无法正常工作

来自分类Dev

在Android中保存状态无法正常工作