私はあなたがYouTubeのビデオを見ることができるアプリを作ろうとしています.私のレイアウトでは、テキストボックスにイメージボタンとそのためのウェブビューがあります.
ここで、webview の URL が変更されたときに Android にトーストを表示させたいと考えています。その中にあります。
これまで、「shouldOverrideUrlLoading」でこのようなことを試しました。これの目的は、ユーザーを YouTube Web サイトにとどめ、ユーザーがビデオをクリックしたときにトーストを表示することです。コードは次のとおりです。
@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 です。
しかし、コードをテストしているときに、ビデオを見るためのトーストが表示されません。何か提案はありますか?
ありがとう、ウート