以下是我实施网页视图的代码,该视图打开一个链接,其中包含有关日期选择的表格信息 并在底部有三个按钮,用于下载pdf,xls和doc文件 下载在浏览器中运行良好但在webview下载中没有发生!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="step1_li">
<a>1</a>
<a>2</a>
<a>3</a>
</li>
答案 0 :(得分:2)
根据聊天中的评论和讨论。
我注意到shouldOverrideUrlLoading
没有被调用。因为,根据Android文档 shouldOverrideUrlLoading
让主机应用程序有机会在新的时候接管控件 url即将加载到当前
中WebView
但在您的情况下,因为点击任意三个链接时,WebView
地址栏中的网址不会更改。它只调用javascript代码javascript:__doPostBack('lnkPDF','')
,它调用post方法生成文件。如果您希望在通知区域中显示通知时使用DownloadManager
下载文件,则需要为http://或https://等文件创建动态静态URL。例如。 http://www.somedomain/may_be_session_id/some_random_file_number_valid_for_some_time_only/file_name.pdf
除了上述内容之外,让网页更改或重定向到新网址,只有这样您才能在shouldOverrideUrlLoading
中捕获网址。
如果主机应用程序想要保留当前shouldOverrideUrlLoading
并处理URL本身,请尝试将WebView
中的return实现更改为True,否则返回false。