在我試圖創建一個通過HTML5(和通過Flash不)播放YouTube視頻網頁視圖,我試圖執行this article逐字,直接在我的活動的onCreate():DownloadListener.onDownloadStart()從來沒有所謂的
WebView webView = (WebView) findViewById(R.id.embeddedWebView);
webView.setDownloadListener(new DownloadListener()
{
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long size)
{
Log.v("TAG", "url: " + url + ", mimeType: " + mimeType);
Intent viewIntent = new Intent(Intent.ACTION_VIEW);
viewIntent.setDataAndType(Uri.parse(url), mimeType);
try
{
startActivity(viewIntent);
}
catch (ActivityNotFoundException ex)
{
Log.w("YourLogTag", "Couldn't find activity to view mimetype: " + mimeType);
}
}
});
它沒有被調用由於某種原因,所以在我的代碼注意到沒有在任何地方我指定「實現DownloadListener」,我重新實現它做爲所定義
public class MyDownloadListener implements DownloadListener
012單獨的類
,並像上面一樣實現onDownloadStart()(將activity作爲參數傳遞,以便它可以調用startActivity()。然後在的onCreate(),我簡單地做:
mDownloadListener = new MyDownloadListener(this);
mWebView.setDownloadListener(mDownloadListener);
我再次嘗試在YouTube上和上http://broken-links.com/tests/video/,我仍然不logcat中看到任何痕跡是onDownloadStart()是不斷被調用。
我需要做些什麼才能讓它被調用?我錯過了什麼?
我發現另一篇文章描述類似的問題http://stackoverflow.com/questions/3926629/downloadlistener-not-working但他的「解決方案」是聲明DownloadListener不工作,並使用onLoadResource作爲解決方法。我希望看到一個使DownloadListener正常工作的解決方案。 – uTubeFan 2011-04-27 00:31:58