Необходимо либо отобразить содержимое .pptx и .mp4 внутри приложения, либо открыть его в стороннем приложении, установленном на устройстве. Как я понял открыть его в стороннем приложении довольно проблематично, поэтому решил попробовать отобразить файл внутри WebView.
С mp4 все ок, но с pptx проблема на андроиде. На ios все ок. В source WebView передается объект {uri: 'file:///......'} Валится ошибка
java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: file:///<path_to_file>.pptx
at android.app.DownloadManager$Request.<init>(DownloadManager.java:494)
at abi36_0_0.host.exp.exponent.modules.api.components.webview.RNCWebViewManager$2.onDownloadStart(RNCWebViewManager.java:2)
Причем ошибка валится только при отдаче pptx файла, при загрузке mp4 все ок. Нашел в коде DownloadManager.java кусок откуда валится эта ошибка. И там интересная штука
if (scheme == null || (!scheme.equals("http") && !scheme.equals("https"))) {
throw new IllegalArgumentException("Can only download HTTP/HTTPS URIs: " + uri);
}
Вопрос в следующем. Почему тогда эта же ошибка не валится при попытке открытия через WebView видео файла, если ссылка на него передается тоже в формате file:///? Может кто то сталкивался? Как это исправить? Приемлемы любые идеи и предложения. Убил 3 дня уже на это