WebChromeClient.OnCreateWindow(WebView, Boolean, Boolean, Message) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.