現在、ウェブサイトに基づいてAndroidアプリケーションを開発中です。 iOSアプリケーションはすでに存在しており、コードの統一性を尊重する必要があります。Androidウェブビューでiframe動画がフルスクリーンモードにならない
私はちょうど興味深い問題を発見しました:iframeビデオ(Youtube、Dailymotion)を持つページのwebview(私は表示されたページで何もコントロールしていません)を使用すると、私はプレーヤーのボタンを押しているにもかかわらず、フルスクリーンになる。
私はすでにここで見つかったすべてのものを試しましたが、表示する必要があるページが分かっているアプリのみを参照しています。ここで
は、アプリのwebActivity部分のコードは次のとおりです。任意のヘルプ
public class WebActivity extends Activity {
String targetURL = "";
String title = "";
WebView wv;
@Override
public void onResume() { super.onResume(); CookieSyncManager.getInstance().startSync(); }
@Override
public void onPause() { super.onPause(); CookieSyncManager.getInstance().stopSync(); }
/** Called when the activity is first created. */
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_PROGRESS);
//getWindow().requestFeature(Window.FEATURE_NO_TITLE);
CookieSyncManager.createInstance(getApplicationContext());
CookieSyncManager.getInstance().startSync();
CookieManager.getInstance().setAcceptCookie(true);
/**
* TODO: WebView Cookie management.
* Right now, a cookie is hardcoded here into the WebView instead of getting it from the API called by HttpClient when retrieving the JSON.
* Need to make things cleaner.
*/
CookieManager.getInstance().setCookie("http://www.blabla.fr/mobile/","gbapi=1; Domain=.www.blabla.fr");
/**
* Get parameters
*/
Bundle b = getIntent().getExtras();
if(b != null)
{
targetURL = b.getString("url");
title = b.getString("title");
}
setTitle(title);
setContentView(R.layout.activity_webview);
wv = (WebView) findViewById(R.id.webview);
WebSettings wvSettings = wv.getSettings();
// WebView options
wvSettings.setDefaultTextEncodingName("utf-8");
wvSettings.setJavaScriptEnabled(true);
wvSettings.setPluginState(PluginState.ON);
wvSettings.setJavaScriptCanOpenWindowsAutomatically(true);
wvSettings.setBuiltInZoomControls(true);
final Activity activity = this;
wv.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
activity.setProgress(progress * 100);
}
});
wv.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, "Oh snap! " + description, Toast.LENGTH_SHORT).show();
}
});
wv.loadUrl(targetURL);
}
}
感謝。
私は数ヶ月でこのコードを見ていない:
ここであなたのような別の質問です。多くの半分の手術と残りの変数。 ><これをきれいにする時間。 – MattC
ありがとう!私はコードをちょっと微調整しなければならなかったが、それを使うことができた。 – Pascal