我看到很多关于在Android中将图像保存到图库的讨论,我想知道MediaStore是否仍然是一种很好的处理方式?
谢谢,
答案 0 :(得分:2)
我从未推荐过这种方法,原因很简单:你不知道那个图像在哪里结束。
相反,请将图片保存到某个已知的可控制位置,然后使用MediaScannerConnection
让MediaStore
了解该图片。如果您让用户控制位置,则奖励积分,您的应用只需为未单独配置的用户提供默认位置。
答案 1 :(得分:1)
使用MediaStore.Images.Media.insertImage(...)
,您最终会得到两个文件。以下是CommonsWare建议的方法:
// ...
// (save your image as usual to your custom location)
// ...
// notify mediascanner of the new image
MediaScannerConnection.scanFile(getApplicationContext(),
new String[] { yourFilePath }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});