2

我正在尝试制作一个可以在其中查看 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。

但是当我测试我的代码时,看视频的吐司没有出现,有什么建议吗?

谢谢你,沃特

4

0 回答 0