我已经搜索了很多与我的问题相关的问题。无论如何,将图像存储在内部存储器中它也应该出现在图库中?
答案 0 :(得分:1)
这完全有可能,我以前做过这个。
在将图像保存到内部存储器(或称为app文件夹等)之前,最好设置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);
}
});
复制/粘贴上面的代码应该可行。然后您的图像将显示在图库中。
的参考答案 1 :(得分:0)
您可以将内部存储器视为目录并在其上写入文件。可以找到示例代码here。从内存加载图像与从目录中读取二进制图像文件相同。然后使用decodeByteArray将您已阅读的文件转换为位图,并显示在您的图库中。
这是another example保存图像并在屏幕上显示(但这个是在webview而不是图库上)。