Android 我们还应该使用MediaStore.Images.Media.insertImage()方法吗?

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

我看到很多关于用android将图像保存到gallery的讨论,我想知道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);
                                }
                            });