如何通过网络视图保存图像?



>假设我在网络视图 http://demo.io 中使用了一个URL,并且该URL有一个相机按钮,当我单击该相机按钮时,我的URL变得 http://demo.io/captureImage。然后我在检查网络视图的网址时遇到了一个问题,然后它只显示 http://demo.io 不显示 http://demo.io/captureImage 那么我如何在 Android 中获取此 URL。因为这个URL有一个图像,我想保存这个图像。当这个网址(http://demo.io/captureImage(在chrome上运行时,我捕获了图像,然后捕获了下载的图像,但在捕获后在Android网络视图图像中没有下载。请建议我适当的答案或代码

您可以将下载列表器添加到webivew并从URL下载图像,如下所示

webview.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long contentLength) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setMimeType(mimeType);
//------------------------COOKIE!!------------------------
String cookies = CookieManager.getInstance().getCookie(url);
request.addRequestHeader("cookie", cookies);
//------------------------COOKIE!!------------------------
request.addRequestHeader("User-Agent", userAgent);
request.setDescription("Downloading file...");
request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType));
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, URLUtil.guessFileName(url, contentDisposition, mimeType));
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(request);
Toast.makeText(getApplicationContext(), "Downloading File", Toast.LENGTH_LONG).show();
}

如果我正确理解了您的问题,

首先,您必须使用新网址重置WebView。尝试在下面执行此操作,

cameraButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
UrActivity.this.mWebView.loadUrl("http://demo.io/captureImage");
}});

其次是下载图像,您可以按照@Hasif Seyd的建议使用setDownloadListener(...)

最新更新