Ich arbeite derzeit an einer Android-Anwendung auf der Grundlage einer Website. Die iOS-Anwendung existiert bereits, und ich muss einige Codes für die Einheitlichkeit beachten.Iframe-Videos werden nicht in Vollbild-Modus in Android-Web-Ansicht gehen
Alles ist fast fertig, aber ich habe gerade ein interessantes Problem entdeckt: Wenn ich die Webansicht (ich habe keine Kontrolle über die angezeigte Seite) für eine Seite mit einem Iframe-Video (Youtube, Dailymotion) verwende, Ich gehe auf den ganzen Bildschirm, obwohl ich den Knopf des Players drücke.
Ich habe schon so ziemlich alles hier ausprobiert, aber es bezieht sich nur auf Apps, wo ich weiß, welche Seiten Sie anzeigen müssen.
Hier ist der Code für das webActivity Teil der App:
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);
}
}
Vielen Dank für jede Hilfe.
Ich habe nicht in diesem Code in ein paar Monaten sah. Viele halbierte Operationen und übrig gebliebene Variablen. >
MattC
Danke! Ich musste den Code ein wenig optimieren, aber ich könnte ihn verwenden. – Pascal