MediaScan occur RemoteServiceException: can't deliver broadcast

105 Views Asked by At

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)
0

There are 0 best solutions below