0

カメラアプリケーションを構築していて、写真を撮った後(PictureCallbackのファイルに書き込んだ後)、デバイス上のメディアファイルを更新したいので、MediaScannerConnectionを使用します(次のコードのように)。しかし、デバイスのギャラリーアプリケーションで画像を表示できません。ただし、PCで画像を表示することはできます(画像はSDカードにあります)。私は何かが足りないのですか?

MediaScannerConnection.scanFile(this, new String[] {pictureFile.toString()}, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.d("ExternalStorage", "Scanned " + path + ":");
Log.d("ExternalStorage", "-> uri=" + uri);
}
});

4

1 に答える 1

8

私は以下が役立つかもしれないと思います(android-developersメーリングリストアーカイブから):

ああ、男.. 3日間の検索と悩みの末、ついに解決策が見つかりました..この1行のコード:

sendBroadcast(new Intent(
    Intent.ACTION_MEDIA_MOUNTED,
    Uri.parse("file://" + Environment.getExternalStorageDirectory())));

それはそれです..それはメディアスキャナーがそれ自体を開始するインテントを送信し、出来上がり、外部ストレージ全体がメディアを検索しました..新しいアイテムを見つけ、もう存在しないものを削除します。

于 2011-11-23T04:44:53.017 に答える