From 6375ec6c0e547678fcce421ce66b646e4ded5740 Mon Sep 17 00:00:00 2001 From: didikeeLuanon Date: Tue, 15 Sep 2020 15:43:44 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=86=8C=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/androidx/utils/FileUtils.java | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/androidx/src/main/java/com/androidx/utils/FileUtils.java b/androidx/src/main/java/com/androidx/utils/FileUtils.java index 427c743..49a3b95 100644 --- a/androidx/src/main/java/com/androidx/utils/FileUtils.java +++ b/androidx/src/main/java/com/androidx/utils/FileUtils.java @@ -1,9 +1,42 @@ package com.androidx.utils; +import android.content.Context; +import android.media.MediaScannerConnection; +import android.net.Uri; + +import com.androidx.LogUtils; +import com.androidx.media.MimeType; + +import java.io.File; + /** * user author: didikee * create time: 9/15/20 2:01 PM * description: */ -class FileUtils { +public final class FileUtils { + private static final MediaScannerConnection.OnScanCompletedListener ON_SCAN_COMPLETED_LISTENER = new MediaScannerConnection.OnScanCompletedListener() { + @Override + public void onScanCompleted(String path, Uri uri) { + LogUtils.d("FileUtils --> scanFile path: " + path + " uri: " + (uri == null ? " " : uri.toString())); + } + }; + + public static void scanFile(Context context, File file) { + if (file != null) { + String mimeTypeFromFilename = MimeType.getMimeTypeFromFilename(file.getName()); + scanFile(context, file, mimeTypeFromFilename, null); + } + } + + public static void scanFile(Context context, File file, String mimeType, MediaScannerConnection.OnScanCompletedListener onScanCompletedListener) { + if (context == null) { + LogUtils.d("FileUtils --> scanFile context is null."); + return; + } + if (file == null || !file.exists()) { + return; + } + MediaScannerConnection.scanFile(context, new String[]{file.getAbsolutePath()}, new String[]{mimeType}, onScanCompletedListener == null ? ON_SCAN_COMPLETED_LISTENER : onScanCompletedListener); + } }