たくさんの活動をしているプロジェクトを作りました。1つのアクティビティは、ビデオを録画することです。これは正常に機能しています。タブレットを再起動しなくても、指定したフォルダに録画されたビデオを見ることができます。
しかし、クエリを使用して他のアクティビティでそのフォルダ内のすべてのビデオを検索しようとすると、以下のコードを参照してください。その後、タブレットを再起動するまで、録画したビデオを見ることができません。タブレットを起動する前に、古い録画ビデオを見ることができます。この奇妙な振る舞いを理解できませんでした。
誰かがこの問題に光を当てることができますか?
ありがとう。
private void initVideosId() { // getting the videos id in Video Folder of SD Card
try {
// Here we set up a string array of the thumbnail ID column we want
// to get back
String[] proj = { _ID };
//Querying for the videos in VideoGallery folder of SD card
// Now we create the cursor pointing to the external thumbnail store
_cursor = managedQuery(_contentUri, proj, // Which columns to return
MEDIA_DATA + " like ? ", // WHERE clause; which rows to
// return (all rows)
new String[] { "%VideoGallery%" }, // WHERE clause selection
// arguments (none)
null); // Order-by clause (ascending by name)
int count = _cursor.getCount();
// We now get the column index of the thumbnail id
_columnIndex = _cursor.getColumnIndex(_ID);
// initialize
_videosId = new int[count];
// move position to first element
_cursor.moveToFirst();
for (int i = 0; i < count; i++) {
int id = _cursor.getInt(_columnIndex);
//
_videosId[i] = id;
//
_cursor.moveToNext();
//
}
} catch (Exception ex) {
showToast(ex.getMessage().toString());
}
}