Java 为什么查询Androids MediaStore返回空游标?
我正在使用Android的MediaStore检索我用我的应用程序录制的视频文件的持续时间/拍摄日期。它适用于旧文件,但我记录的最新文件返回空(非空)游标。我不明白为什么会发生这种情况,是MediaStore没有立即更新,还是我下面使用的代码有问题?谢谢你的帮助Java 为什么查询Androids MediaStore返回空游标?,java,android,api,video,mediastore,Java,Android,Api,Video,Mediastore,我正在使用Android的MediaStore检索我用我的应用程序录制的视频文件的持续时间/拍摄日期。它适用于旧文件,但我记录的最新文件返回空(非空)游标。我不明白为什么会发生这种情况,是MediaStore没有立即更新,还是我下面使用的代码有问题?谢谢你的帮助 Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; String selection = MediaStore.MediaColumns.DISPLAY_NAME + " LIK
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.MediaColumns.DISPLAY_NAME + " LIKE '"+file.getName()+"'";
Cursor cursor = getContentResolver().query(uri, new String[]{MediaStore.Video.VideoColumns.DATE_TAKEN,MediaStore.Video.VideoColumns.DURATION}, selection, null, null);
似乎MediaScanner尚未将最新文件扫描到MediaStore。如果外部存储器中有新文件,则必须触发
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
+ Environment.getExternalStorageDirectory())));
检查并确保您的安卓设备没有干扰外部存储。如果您的手机安装为USB存储,则无法直接访问外部存储中的文件。您可以在手机连接到计算机时打开多媒体资料进行检查
我刚刚开发了一个应用程序,它必须访问手机上的所有图片,但当手机插上电源时,它无法工作。但是,如果我拔下插头,它就可以正常工作。我也面临着同样的问题。打印stacktrace修改了问题。 请在清单中添加此权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
触发媒体扫描没有帮助。这个问题还有其他解决方案吗?有人知道这个问题的根本原因吗?你解决了这个问题吗?