Сохранение изображения из контекстного меню веб-приложения для Android невозможно найти на устройстве - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь реализовать опцию сохранения изображения с помощью контекстного меню приложения для Android.Изображение загружается, и я могу просмотреть его из панели уведомлений, но не могу найти в папке загрузки устройства или где-либо еще.

Я использовал приведенный ниже код для загрузки изображения.

 @Override
public void onCreateContextMenu(ContextMenu contextMenu,View view,ContextMenu.ContextMenuInfo contextMenuInfo){
    super.onCreateContextMenu(contextMenu, view, contextMenuInfo);

    final WebView.HitTestResult webViewHitTestResult = webView1.getHitTestResult();

    if (webViewHitTestResult.getType() == WebView.HitTestResult.IMAGE_TYPE ||
            webViewHitTestResult.getType() == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {

        contextMenu.setHeaderTitle("Menu");

        contextMenu.add(0, 1, 0, "Download this Image")
                .setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
                    @Override
                    public boolean onMenuItemClick(MenuItem menuItem) {

                        String DownloadImageURL = webViewHitTestResult.getExtra();

                        if (URLUtil.isValidUrl(DownloadImageURL)) {

                            DownloadManager.Request request = new DownloadManager.Request(Uri.parse(DownloadImageURL));
                            request.allowScanningByMediaScanner();
                            request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
                            DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
                            assert downloadManager != null;
                            downloadManager.enqueue(request);

                            Toast.makeText(BrowserActivity.this, "Starting download...", Toast.LENGTH_LONG).show();
                        } else {
                            Toast.makeText(BrowserActivity.this, "Sorry.. Something Went Wrong.", Toast.LENGTH_LONG).show();
                        }
                        return false;
                    }
                });
    }}
...