之前已经问过这个问题(不是特别喜欢这个)但是还没有一个All Exclusive答案.所以我们试图找到最好的解决方案.我正在开发一个应用程序,在我的应用程序中,我隐藏了一个名为myPic将其文件移动到名为的目录的目录.myPic.当我隐藏我的照片时,它的缩略图仍然在画廊中.我找到了3个解决方案:
使用ACTION_MEDIA_MOUNTED广泛投射如下:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
Run Code Online (Sandbox Code Playgroud)
这段代码的问题在于它需要拥抱资源,最重要的是它因为android 4.4而被阻止.因此,使用此方法将10张图片添加到图库是不合理的.所以它不是一个全独家的方法.也使用ACTION_MEDIA_SCANNER_SCAN_FILE在Android 4.4上也不起作用
使用MediaScannerConnection.所以我创建了一个for循环并传递了我隐藏的每个文件的旧地址.这是我的MediaScannerConnection功能:
private void scanFile(File file) {
// Tell the media scanner about the new file so that it is
// immediately available to the user.
MediaScannerConnection.scanFile(this,new String[] { file.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> …Run Code Online (Sandbox Code Playgroud)