我使用 html 和 javascript 制作了一个 java android 应用程序。我在那个 javascript 文件中有一个函数可以下载一些东西。如何在java应用程序中启用它?
我尝试了一些公开的解决方案,但没有成功。请告诉我正确的方法。
以下是如何在使用 HTML 和 JavaScript 构建的 Java Android 应用程序中启用下载:
1。网页视图设置:
启用JavaScript:
WebView myWebView = (WebView) findViewById(R.id.myWebView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
设置下载监听器:
myWebView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
// Handle download here
}
});
2。从 JavaScript 开始下载:
锚标记(用于服务器端文件):
<a href="https://example.com/file.pdf" download>Download PDF</a>
动态下载(针对生成的内容):
function downloadContent(content, filename) {
const link = document.createElement('a');
link.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(content);
link.download = filename;
link.click();
}
3.在 DownloadListener 中处理下载:
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setMimeType(mimetype);
// Set other request properties like destination, visibility, etc.
DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
downloadManager.enqueue(request);
其他注意事项:
android.permission.INTERNET
以及可能的 android.permission.WRITE_EXTERNAL_STORAGE
。WebView.addJavascriptInterface()
。