Sprache

WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Methode

Definition

Fordern Sie die Hostanwendung an, ein neues Fenster zu erstellen.

[Android.Runtime.Register("onCreateWindow", "(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z", "GetOnCreateWindow_Landroid_webkit_WebView_ZZLandroid_os_Message_Handler")]
public virtual bool OnCreateWindow(Android.Webkit.WebView? view, bool isDialog, bool isUserGesture, Android.OS.Message? resultMsg);
[<Android.Runtime.Register("onCreateWindow", "(Landroid/webkit/WebView;ZZLandroid/os/Message;)Z", "GetOnCreateWindow_Landroid_webkit_WebView_ZZLandroid_os_Message_Handler")>]
abstract member OnCreateWindow : Android.Webkit.WebView * bool * bool * Android.OS.Message -> bool
override this.OnCreateWindow : Android.Webkit.WebView * bool * bool * Android.OS.Message -> bool

Parameter

view
WebView

Das WebView, aus dem die Anforderung für ein neues Fenster stammt.

isDialog
Boolean

true wenn es sich bei dem neuen Fenster um ein Dialogfeld anstelle eines Fensters mit voller Größe handelt.

isUserGesture
Boolean

true wenn die Anforderung durch eine Benutzergeste initiiert wurde, z. B. der Benutzer auf einen Link klickt.

resultMsg
Message

Die Nachricht, die gesendet werden soll, wenn ein neues WebView erstellt wurde. resultMsg.obj ist ein WebView.WebViewTransport Objekt. Dies sollte verwendet werden, um das neue WebView durch Aufrufen WebView.WebViewTransport#setWebView(WebView) WebView.WebViewTransport.setWebView(WebView)zu transportieren.

Gibt zurück

Diese Methode sollte zurückgegeben true werden, wenn die Hostanwendung ein neues Fenster erstellt, in diesem Fall sollte resultMsg an das Ziel gesendet werden. Andernfalls sollte diese Methode zurückgegeben werden false. Das false Zurückgeben von dieser Methode, aber auch das Senden von resultMsg führt zu einem nicht definierten Verhalten.

Attribute

Hinweise

Fordern Sie die Hostanwendung an, ein neues Fenster zu erstellen. Wenn die Hostanwendung diese Anforderung berücksichtigt, sollte sie von dieser Methode zurückgegeben true werden, erstellen Sie ein neues WebView zum Hosten des Fensters, fügen Sie es in das Ansichtssystem ein, und senden Sie die bereitgestellte resultMsg-Nachricht mit dem neuen WebView als Argument an das Ziel. Wenn die Hostanwendung die Anforderung nicht berücksichtigt, sollte sie von dieser Methode zurückgegeben werden false . Die Standardimplementierung dieser Methode führt nichts aus und gibt daher zurück false.

Anwendungen sollten in der Regel nicht zulassen, dass Fenster erstellt werden, wenn das isUserGesture Kennzeichen falsch ist, da dies möglicherweise ein unerwünschtes Popup ist.

Anwendungen sollten vorsichtig sein, wie sie das neue Fenster anzeigen: Überlagern Sie es nicht einfach über das vorhandene WebView, da dies den Benutzer dazu führen kann, welche Website sie anzeigen. Wenn ihre Anwendung die URL der Hauptseite anzeigt, müssen Sie auch die URL des neuen Fensters auf ähnliche Weise anzeigen. Wenn Ihre Anwendung keine URLs anzeigt, sollten Sie die Erstellung neuer Fenster vollständig aufheben.

<b>Hinweis:</b> Es gibt keine vertrauenswürdige Möglichkeit, zu erkennen, welche Seite das neue Fenster angefordert hat: Die Anforderung kann von einem Drittanbieter-iframe innerhalb der WebView stammen.

Java Dokumentation für android.webkit.WebChromeClient.onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: