3

Android の MediaStore を使用して、アプリで記録したビデオ ファイルの期間/日付テイクを取得しています。古いファイルでは問題なく動作しますが、私が記録した最新のファイルは空の(nullではない)カーソルを返します。なぜこれが起こっているのかわかりません.MediaStoreがすぐに更新されないのですか、それとも以下で使用するコードに問題がありますか? 助けてくれてありがとう!

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);
4

3 に答える 3

0

MediaScanner はまだ最新のファイルを MediaStore にスキャンしていないようです。外部ストレージに新しいファイルがある場合は、トリガーする必要があります。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
                            + Environment.getExternalStorageDirectory())));
于 2012-09-14T01:29:15.797 に答える