我正在尝试制作一个可以在其中查看 youtube 视频的应用程序,在我的布局中,我有一个文本框、一个图像按钮和一个 webview。
现在我希望android在webview中的url发生变化时显示一个toast,如果可能的话,只有“watch?”的url。在里面。
直到现在我用“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 是用户将要观看的视频的 url。
但是当我测试我的代码时,看视频的吐司没有出现,有什么建议吗?
谢谢你,沃特