0

私のアプリは写真を撮り、指定したフォルダーに保存できます。ESファイルエクスプローラーで、SDカードと指定したフォルダに画像が保存されていることを確認できました。

ただし、私のギャラリーはこのアルバムをすぐには表示しません。かなり時間がかかります。コードを使用してすぐに検出できる方法はありますか?

次のブロードキャスト コードは機能していないようです。私のギャラリーは、新しく作成されたアルバムと画像を取得するためにすぐに更新を行いません。

よろしくお願いします。ありがとう!

if (type == MEDIA_TYPE_IMAGE){
            mediaFile = new File(mediaStorageDir.getPath() + File.separator +
            "IMG_"+ timeStamp + ".png");

             Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
             Uri contentUri = Uri.fromFile(mediaFile);
             mediaScanIntent.setData(contentUri);
             v.getContext().sendBroadcast(mediaScanIntent);

        }
4

1 に答える 1

2

スキャンが完了するまで時間がかかる場合があります。

必要に応じて、少なくとも終了時に通知を受け取ることができます。

MediaScannerConnection.scanFile(
      getApplicationContext(), 
      new String[]{file.getAbsolutePath()}, 
      null, 
      new OnScanCompletedListener() {
         @Override
         public void onScanCompleted(String path, Uri uri) {
            // file was scanned
         }
      });

詳細については、こちらをご覧ください

于 2013-02-23T19:22:51.840 に答える