Android 我们还应该使用MediaStore.Images.Media.insertImage()方法吗?
我看到很多关于用android将图像保存到gallery的讨论,我想知道MediaStore是否仍然是一个好方法Android 我们还应该使用MediaStore.Images.Media.insertImage()方法吗?,android,mediastore,Android,Mediastore,我看到很多关于用android将图像保存到gallery的讨论,我想知道MediaStore是否仍然是一个好方法 谢谢,我从来没有推荐过这种方法,原因很简单:你不知道那张照片会在哪里结束 相反,将图像保存到某个已知的可控位置,然后使用MediaScannerConnection让MediaStore了解该图像。如果您让用户控制位置,而您的应用程序只是为不单独配置的用户提供默认位置,则会获得额外的积分。我从未推荐过这种方法,原因很简单:您不知道图像会在哪里结束 相反,将图像保存到某个已知的可控位置
谢谢,我从来没有推荐过这种方法,原因很简单:你不知道那张照片会在哪里结束
相反,将图像保存到某个已知的可控位置,然后使用
MediaScannerConnection
让MediaStore
了解该图像。如果您让用户控制位置,而您的应用程序只是为不单独配置的用户提供默认位置,则会获得额外的积分。我从未推荐过这种方法,原因很简单:您不知道图像会在哪里结束
相反,将图像保存到某个已知的可控位置,然后使用
MediaScannerConnection
让MediaStore
了解该图像。如果您让用户控制位置,而您的应用程序只是为不单独配置它的用户提供默认位置,那么您将获得额外的积分。使用MediaStore.Images.Media.insertImage(…)
您将得到两个文件。下面是如何执行Commonware建议的操作:
// ...
// (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);
}
});
使用
MediaStore.Images.Media.insertImage(…)
您将得到两个文件。下面是如何执行Commonware建议的操作:
// ...
// (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);
}
});