1

私は、Web ビューを使用して HTML コンテンツをロードする Web アプリを作成しました。私はGoogle TV用に開発しています。ビデオが含まれているWebページです。したがって、私の問題は、クリックしてビデオを再生すると、同じWebビューにない別のページで開き、モバイル用ではなくGoogle TV(Logitech)で発生することですデバイス。

それの何が問題なのですか。

私のコードは次のとおりです。

webView = (WebView) findViewById(R.id.webview);


    WebSettings settings = webView.getSettings();
    //settings.setJavaScriptEnabled(true);
    settings.setAllowFileAccess(true);
    if (Build.VERSION.SDK_INT > 7) {
        settings.setPluginState(PluginState.ON);
    } else {
        settings.setPluginsEnabled(true);
    }

    webView.setWebChromeClient(new SimpleWebChromeClient());
    settings.setJavaScriptEnabled(true);
    settings.setUserAgentString("Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/000000");
    settings.setBuiltInZoomControls(true);
    settings.setSupportZoom(true);
    settings.setPluginsEnabled(true);
    settings.setLoadWithOverviewMode(true);
    settings.setUseWideViewPort(true);
    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webView.setScrollbarFadingEnabled(false);

 String fileName = "html_content/test.html";

 webView.loadUrl("file:///android_asset/" + fileName);

WebChromeClient コードは次のとおりです。

 private class SimpleWebChromeClient extends WebChromeClient {

        /* (non-Javadoc)
         * @see android.webkit.WebChromeClient#onShowCustomView(android.view.View, android.webkit.WebChromeClient.CustomViewCallback)
         */
        @Override
        public void onShowCustomView(View view, CustomViewCallback callback) {
                super.onShowCustomView(view, callback);
                //Log.w(RedditTVHDActivity.LOG_PREFIX, "In OnShowCustomView");
        }

}
4

2 に答える 2

0

アクティビティ名から、Reddit TV のリンクをアプリで動作させようとしていると思われます。これらのほとんどは最終的に YouTube 動画になるため、ネイティブの YouTube Android プレーヤー API を使用するのが最適です。ここにいくつかの YouTube サンプル アプリがあります: https://developers.google.com/youtube/android/player/sample-applications

于 2013-06-04T15:52:47.413 に答える
0

これは、同じウィンドウで WebView を開くために使用するものです。

webview.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView w, String url){
            w.loadUrl(url); 
            return false; // then it is not handled by default action
       }
    });
于 2013-06-04T13:32:12.243 に答える