1

たくさんの活動をしているプロジェクトを作りました。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());
    }

}
4

1 に答える 1

1

ファイルを外部ストレージに保存した場合は、を使用MediaScannerConnectionしてMediaStoreそのファイルにインデックスを付ける必要があります。たとえば、次のようになります。

MediaScannerConnection.scanFile(
  this, 
  new String[] {file.getAbsolutePath()}, 
  null, 
  new OnScanCompletedListener() {
     @Override
     public void onScanCompleted(String path, Uri uri) {
        // do something if you want
     }
  });
于 2012-11-06T14:40:56.017 に答える