WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Método

Definição

Solicite que o aplicativo host crie uma nova janela.

[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

Parâmetros

view
WebView

O WebView do qual a solicitação de uma nova janela se originou.

isDialog
Boolean

true se a nova janela deve ser uma caixa de diálogo, em vez de uma janela em tamanho real.

isUserGesture
Boolean

true se a solicitação foi iniciada por um gesto de usuário, como o usuário clicando em um link.

resultMsg
Message

A mensagem a ser enviada quando uma nova WebView tiver sido criada. resultMsg.obj é um WebView.WebViewTransport objeto. Isso deve ser usado para transportar o novo WebView, chamando WebView.WebViewTransport#setWebView(WebView) WebView.WebViewTransport.setWebView(WebView).

Retornos

Esse método deverá ser retornado true se o aplicativo host criar uma nova janela, caso em que resultMsg deve ser enviado para seu destino. Caso contrário, esse método deverá retornar false. false Retornar desse método, mas também enviar resultMsg resultará em um comportamento indefinido.

Atributos

Comentários

Solicite que o aplicativo host crie uma nova janela. Se o aplicativo host optar por atender a essa solicitação, ele deverá retornar true desse método, criar um novo WebView para hospedar a janela, inseri-la no sistema De exibição e enviar a mensagem resultMsg fornecida para seu destino com o novo WebView como um argumento. Se o aplicativo host optar por não atender à solicitação, ele deverá retornar false desse método. A implementação padrão desse método não faz nada e, portanto, retorna false.

Normalmente, os aplicativos não devem permitir que janelas sejam criadas quando o isUserGesture sinalizador é falso, pois pode ser um pop-up indesejado.

Os aplicativos devem ter cuidado ao exibir a nova janela: não basta sobrepor o WebView existente, pois isso pode enganar o usuário sobre qual site ele está exibindo. Se o aplicativo exibir a URL da página principal, certifique-se de também exibir a URL da nova janela de maneira semelhante. Se seu aplicativo não exibir URLs, considere não permitir totalmente a criação de novas janelas.

<b>Observação:</b> Não há nenhuma maneira confiável de informar qual página solicitou a nova janela: a solicitação pode se originar de um iframe de terceiros dentro do WebView.

Java documentação para android.webkit.WebChromeClient.onCreateWindow(android.webkit.WebView, boolean, boolean, android.os.Message).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a