在我的 Android 应用程序中,我使用的是带有 downloadListener 的 WebView。我想访问一个 Intranet 站点,当单击一个链接时,使用 mimetype 信息决定如何处理该文件。
问题在于引用图像文件(png、jpg 等)的链接。他们没有触发侦听器,而是在新页面中自动显示文件,跳过侦听器。
我怎样才能改变这种行为?
我的代码没什么特别的...
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = (WebView)findViewById(R.id.webview);
webview.setWebViewClient(new MiWebClient());
webview.setDownloadListener(oyenteDescarga);
//...other onCreate stuff... nothing relevant
}
DownloadListener oyenteDescarga = new DownloadListener()
{
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength)
{
//...I want to use mimetype here, but this listener is not triggered when I click an image, an example:
Toast.makeText(getBaseContext(), "URL:" + url, Toast.LENGTH_SHORT).show(); //it doesn't show when i click a link referencing an image
}
};
MiWebClient 是一个扩展 WebViewClient 的类
public class MiWebClient extends WebViewClient
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
}