Java 以编程方式创建文件夹时,媒体存储不工作

Java 以编程方式创建文件夹时,媒体存储不工作,java,android,file,mediastore,Java,Android,File,Mediastore,我正在从编程创建的文件夹访问视频,使用以下代码,但返回的光标计数0,我应该如何解决此问题 我已经在一些设备上测试过,这不是完美的解决方案。 想找更好的,有人能帮我吗 String selection=MediaStore.Video.Media.DATA +" like?"; String[] selectionArgs=new String[]{"%smartVcall%"}; videocursor = managedQuery(MediaStore.Vid

我正在从编程创建的文件夹访问
视频
,使用以下代码,但返回的光标计数
0
,我应该如何解决此问题

我已经在一些设备上测试过,这不是完美的解决方案。 想找更好的,有人能帮我吗

 String selection=MediaStore.Video.Media.DATA +" like?";
        String[] selectionArgs=new String[]{"%smartVcall%"};
        videocursor = managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
                parameters, selection, selectionArgs, MediaStore.Video.Media.DATE_TAKEN + " DESC");
要创建文件夹,我使用以下代码

 File moviesDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/smartVcall");
        if (!moviesDir.exists()) {
            moviesDir.mkdirs();
        }

您应该强制Android
MediaStore
为创建的目录编制索引

String directoryPath = "file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + "/smartVcall"
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse(directoryPath)));