我正在尝试创建一个可以看到youtube视频的应用, 在我的布局中,我有一个文本框,一个图像按钮和一个webview。
现在我希望android在webview中的url更改时显示toast, 如果有可能只有“看”的网址?就在其中。
直到现在我用“shouldOverrideUrlLoading”尝试了这个东西, 这样做的目的是让用户保持在youtube网站上 当用户点击视频时显示祝酒词,这里是代码:
@SuppressLint("SetJavaScriptEnabled")
public void search() {
surl = MainAct.ytresurl + MainAct.query;
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
ws.setPluginsEnabled(true);
MainAct.wv.loadUrl(MainAct.surl);
WebViewClient wvc = new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view,String url) {
if (!url.startsWith("http://m.youtube.com/")) {
MainAct.wv.loadUrl(surl);
return true;
} else if (url.startsWith("http://m.youtube.com/watch?")) {
MainAct.vidurl = url;
Toast.makeText(getApplicationContext(), "URL:" + url, Toast.LENGTH_SHORT).show();
MainAct.wv.loadUrl(surl);
return true;
}
return false;
}
};
MainAct.wv.setWebViewClient(wvc/*new Callback()*/);
}
surl是带查询的url(%20转换的空间尚未实现) MainAct.vidurl是用户将要观看的视频的网址。
但是当我测试我的代码时,观看视频的祝酒词没有出现,有什么建议吗?
谢谢你, Wout的