Мой код не загружает файлы Excel или CSV, другие типы файлов работают нормально - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь загрузить Excel и CSV-файл в Android через веб-просмотр.

Другие типы файлов загружаются.

Каждый раз, когда я пытаюсь загрузить файл (Excel, CSV), приложение перестает отвечать.

Вот мой код

 public static void download(Activity mActivity, String url, String contentDisposition, String mimetype) {
            if (ActivityCompat.checkSelfPermission(mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                return;
            }

Чтобы уведомить Клиента о том, чтофайл загружается

            Toast.makeText(mActivity, R.string.downloading, Toast.LENGTH_LONG).show();
            final String filename = URLUtil.guessFileName(url, contentDisposition, mimetype);
            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

            request.setVisibleInDownloadsUi(true);
            request.allowScanningByMediaScanner();
            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); //Notify client once download is completed!
            request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, filename);
            DownloadManager dm = (DownloadManager) mActivity.getSystemService(Activity.DOWNLOAD_SERVICE);
            dm.enqueue(request);
        }

Заранее спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

Просто вставьте это в свой код и установите расширение, которое вы загружаете через Webview

mWebView.setDownloadListener(new DownloadListener() {
    public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
        Request request = new Request(Uri.parse(url));
        request.allowScanningByMediaScanner();
        request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
        String newString ="THE FILE NAME.mp3"
        Log.i(ERROR, "this is it " + newString);
        File sdCard = Environment.getExternalStorageDirectory();
        String folder = sdCard.getAbsolutePath();
        request.setDestinationInExternalPublicDir(folder, newString);
        DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
    }
}

Надеюсь, это может вам помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...