I want to scan media for multiple files, about more than 6000 files. Here is my scan code:
String[] scanArray = new String[scanList.size()];
String[] mimeTypeArray = new String[scanList.size()];
for (int i = 0; i < scanList.size(); i++) {
scanArray[i] = scanList.get(i);
File file = new File(scanList.get(i));
mimeTypeArray[i] = file.isDirectory() ? "*/*" : FileSystem.getMimeType(scanList.get(i));
}
MediaScannerConnection.scanFile(MyApplication.getContext(), scanArray, mimeTypeArray,
(path, uri) -> Log.d("MediaScanUtils", "Path: " + path + "\t Uri: " + uri));
And when scan a part of files, it throw Exception
android.app.RemoteServiceException: can't deliver broadcast
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2240)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8512)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)