Android WebView должен OverrideUrlLoading
Я пытаюсь сделать приложение, в котором вы можете видеть видео на YouTube, в моем макете у меня есть текстовое поле, кнопка с изображением и веб-просмотр для этого.
Теперь я хочу, чтобы Android отображал тост при изменении URL-адреса в веб-представлении, и, если возможно, только 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-адрес видео, которое пользователь будет смотреть.
Но когда я тестирую свой код, тост за просмотр видео не появляется, какие-либо предложения?
Спасибо Wout