我已经搜索了很多与我的问题相关的问题。是否总有一个图像要存储在内部存储器中,并且图像也应该出现在图库中?

最佳答案

完全有可能,我之前已经做过。

在将图像保存到内存(或称为应用程序文件夹等)之前,最好设置Context.MODE_WORLDREADABLE。尽管我设置了MODE_PRIVATE并可以在运行MediaScanner后从图库中读取,但出于安全考虑,建议您设置MODE_PRIVATE。

将图像保存到内部存储器后,可以像下面这样调用MediaScanner:

// call media scanner to refresh gallery
MediaScannerConnection.scanFile(getApplicationContext(), new String[]{filePath}, null, new MediaScannerConnection.OnScanCompletedListener() {
    @Override
    public void onScanCompleted(String path, Uri uri) {

        Log.i("MediaScanner", "Scanned " + path + ":");
        Log.i("MediaScanner", "-> uri=" + uri);
    }
});


复制/粘贴上面的代码应该可以。然后,您的图像将显示在图库中。

Context的参考

08-17 14:04