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

标签 java android file mediastore

我正在使用以下代码从以编程方式创建的文件夹访问videos,但它返回光标计数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)));

关于java - 以编程方式创建文件夹时媒体存储不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48934159/

相关文章:

java - 在 Java 服务器中重用客户端 java 套接字

c - 将结构保存在文件中

python - 使用 pygame 将整个文件夹包含在 cx_Freeze 中

c# - C#如何一次播放一个mp3音频文件

java - Eclipse/GGTS 在 Mac OS X 上与 Java 7 崩溃?

java - 无法在 Android 中读取/写入 SD 卡

java - 从 jena QuerySolution 到 Model tdb rdf

java - 排除某些网址被抓取

android - 从解锁屏幕安卓唤醒手机

android - 带圈选项的水平数字选择器