Webkit

Trabalhe com APIs WebView modernas no Android 5 e versões mais recentes.
Atualização mais recente Versão estável Versão candidata a lançamento Versão Beta Versão Alfa
2 de julho de 2025 1.14.0 - - 1.15.0-alpha01

Declarar dependências

Para adicionar uma dependência a Webkit, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.

Adicione as dependências dos artefatos necessários ao arquivo build.gradle do seu app ou módulo:

Groovy

dependencies {
    implementation "androidx.webkit:webkit:1.14.0"
}

Kotlin

dependencies {
    implementation("androidx.webkit:webkit:1.14.0")
}

Para mais informações sobre dependências, consulte Adicionar dependências de build.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.

Criar novo problema

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.15

Versão 1.15.0-alpha01

2 de julho de 2025

Lançamento de androidx.webkit:webkit:1.15.0-alpha01. A versão 1.15.0-alpha01 contém estas confirmações.

Novos recursos

  • Uma nova API para definir pares nome-valor de cabeçalho HTTP em solicitações para origens específicas.
    O método Profile.setOriginMatchedHeader permite que o aplicativo especifique que o nome e o valor do cabeçalho precisam ser definidos em todas as solicitações HTTP/HTTPS para as origens que correspondem à lista de permissões fornecida quando enviadas de WebViews e service workers que usam o perfil especificado. A API permite apenas um mapeamento para cada nome de cabeçalho e vai gerar uma exceção se o nome já estiver definido.
    Use Profile.clearOriginMatchedHeader para remover uma associação e Profile.clearAllOriginMatchedHeaders para remover todas as associações. (Ida7f1, b/419469873)
  • Uma nova API para acessar e definir cookies como parte dos callbacks shouldInterceptRequest para WebView e service workers.
    Os desenvolvedores de apps que acessam a API CookieManager como parte do shouldInterceptRequest agora podem ativar cabeçalhos de cookie diretamente chamando setIncludeCookiesOnShouldInterceptRequest. Isso fará com que o WebView adicione um cabeçalho Cookie ao mapa WebResourceRequest.getRequestHeaders(), que serão os cookies exatos aplicados à solicitação. Isso também vai processar corretamente todos os cookies particionados.Os apps
    podem fornecer valores de cabeçalho Set-Cookie usando a API WebResourceResponseCompat.setCookies recém-adicionada. Os valores Set-Cookie adicionados ali serão processados pela WebView como parte do tratamento da resposta. (Idbfd1, b/414769380)
  • Uma nova API experimental para aquecer o processo de renderização de um Profile.
    Essa API pode ser usada por aplicativos com ciclos de vida complexos do WebView para garantir que o processo do renderizador esteja em execução, mesmo que todas as instâncias do WebView tenham sido destruídas. (Ia8fc8).

Mudanças na API

  • Adicione um novo método à interface experimental Navigation para fornecer o URL da navegação. (I1c6c0).
  • Atualizamos o nome do recurso de pré-busca de perfil para esclarecer que a API Prefetch agora pode ser invocada em uma linha de execução em segundo plano. (I7c83a)

Versão 1.14

Versão 1.14.0

4 de junho de 2025

Lançamento de androidx.webkit:webkit:1.14.0. A versão 1.14.0 contém estas confirmações.

Mudanças importantes desde a versão 1.13.0

  • Apresentamos a API PaymentRequest para invocar apps de pagamento nativos do Android usando a intent org.chromium.intent.action.PAY. O PaymentRequest está desativado por padrão, e os apps host WebView podem chamar WebSettingsCompat.setPaymentRequestEnabled(settings, true) para ativar. Além disso, PaymentRequest requer uma tag <queries> em AndroidManifest.xml. Consulte a documentação do setPaymentRequestEnabled() para mais informações.
  • Apresentamos a API Navigation experimental para melhorar o rastreamento e o gerenciamento da navegação na Web no WebView. Essas APIs fornecem informações detalhadas sobre eventos de navegação. Comece chamando WebViewCompat.setNavigationClient com uma implementação da nova interface WebNavigationClient para receber informações detalhadas sobre a navegação na página. Para mais informações sobre o ciclo de vida da navegação, consulte Ciclo de vida de uma apresentação de navegação.

Versão 1.14.0-rc01

20 de maio de 2025

Lançamento de androidx.webkit:webkit:1.14.0-rc01. A versão 1.14.0-rc01 contém estas confirmações.

  • Não há mudanças desde 1.14.0-beta01.

Versão 1.14.0-beta01

7 de maio de 2025

Lançamento de androidx.webkit:webkit:1.14.0-beta01. A versão 1.14.0-beta01 contém estas confirmações.

Mudanças na API

  • Adição de contexto como parâmetro à API startUpWebView() (Ic29cd, b/406701301).

Versão 1.14.0-alpha01

9 de abril de 2025

Lançamento de androidx.webkit:webkit:1.14.0-alpha01. A versão 1.14.0-alpha01 contém estas confirmações.

Novos recursos

  • Apresentamos a API PaymentRequest para invocar apps de pagamento nativos do Android usando a intent org.chromium.intent.action.PAY. O PaymentRequest está desativado por padrão, e os apps host da WebView podem chamar WebSettingsCompat.setPaymentRequestEnabled(settings, true) para ativá-lo. Além disso, PaymentRequest requer uma tag <queries> em AndroidManifest.xml. Consulte a documentação do setPaymentRequestEnabled() para mais informações. (I3304e, b/404920055)
  • Conheça os callbacks de navegação experimentais. Esta versão apresenta APIs experimentais para rastreamento e gerenciamento aprimorados da navegação na Web no WebView. Essas APIs fornecem informações detalhadas sobre eventos de navegação. Principais recursos:
    • Interface WebNavigationClient: apresenta uma nova interface, WebNavigationClient, com callbacks para eventos de navegação:
    • onNavigationStarted(Navigation navigation): notifica quando uma navegação começa.
    • onNavigationRedirected(Navigation navigation): notifica quando uma navegação é redirecionada.
    • onNavigationCompleted(Navigation navigation): notifica quando uma navegação é concluída.
    • Interface Navigation: fornece informações detalhadas sobre uma navegação, incluindo: URL, status de início da página, status do mesmo documento, status de recarregamento, status do histórico, status de voltar/avançar, status de commit, status da página de erro, código de status e status de restauração da sessão. O objeto Navigation serve como um identificador exclusivo para cada navegação, permitindo que os desenvolvedores correlacionem eventos de navegação relacionados.
    • Classe Page: apresenta a classe Page, que serve como uma chave para dados associados à página. (I351a6).
  • Introdução de uma nova API experimental para alternar o comportamento de objetos do provedor de cache. (I14636).

Mudanças na API

  • O valor do recurso PROFILE_URL_PREFETCH foi atualizado em WebViewFeature. (I606fd).
  • Adiciona WebViewCompat#saveState, semelhante a WebView#saveState, mas permite restringir o tamanho do estado retornado e decidir se os itens do histórico de navegação para frente serão salvos ou não. (Iea7d6).
  • Adição da configuração maxPrerenders à API SpeculativeLoadingConfig (I67245).

Versão 1.13

Versão 1.13.0

12 de março de 2025

Lançamento de androidx.webkit:webkit:1.13.0. A versão 1.13.0 contém estas confirmações.

Mudanças importantes desde a versão 1.12.0

  • Introduzimos uma nova API experimental para pré-renderização de URLs, permitindo que os desenvolvedores pré-renderizem especulativamente URLs candidatos, resultando em navegações mais rápidas. (I0cfe7).
  • Apresentamos um conjunto de novas APIs para excluir dados de navegação armazenados pelo WebView. As novas APIs em WebStorageCompat devem ser preferidas em vez das APIs atuais em android.webkit.WebStorage, porque garantem a exclusão de todo o armazenamento local, incluindo o cache de rede e os cookies, bem como todos os service workers instalados. Se novas APIs de armazenamento forem lançadas no futuro, esses novos métodos serão atualizados para incluí-las no armazenamento excluído. (Iad54f, b/382273208)
  • Adicione a API setPartitionedCookiesEnabled. Isso vai permitir que os desenvolvedores ativem e desativem cookies particionados em WebView. (Ic506a, b/364904765)
  • Adicione a API de inclusão de tags de soquete ao WebView para contabilizar o tráfego de rede do WebView usando NetworkStatsManager/TrafficStats. Esse recurso só estará disponível a partir do WebView M133. (Ica441, b/374932688).
  • Adição da API experimental de inicialização assíncrona WebView. (I94b8a)
  • Pré-busca de URL no perfil: foi introduzida uma nova API no Profile para permitir que os desenvolvedores acionem a pré-busca de URL. Limpeza de pré-busca: adicionamos uma API para limpar pré-buscas em andamento.(I42c5c)
  • O uso de WebView.startSafeBrowsing foi descontinuado. (If5626).

Versão 1.13.0-rc01

26 de fevereiro de 2025

Lançamento de androidx.webkit:webkit:1.13.0-rc01. Esta versão não tem mudanças em relação à 1.13.0-beta01.

Versão 1.13.0-beta01

12 de fevereiro de 2025

Lançamento de androidx.webkit:webkit:1.13.0-beta01. A versão 1.13.0-beta01 contém estas confirmações.

Mudanças na API

  • Adicione o sufixo Async à API de pré-renderização. Renomeie qualquer "Data" para "Header" em NoVarySearch para refletir o novo nome. (Ie91c9).
  • Adicione o parâmetro do executor à API de pré-renderização de URL. Além disso, restringir a API para ser chamada apenas da linha de execução da UI. (I50520).
  • Adicione uma API para configurar a configuração de cache para as solicitações de pré-busca de perfil. Ela também se aplica a solicitações de pré-renderização iniciadas em WebViews associados a esse perfil. (Iebb6e).

Correções de bugs

  • Mude o comportamento de URLUtilCompat.guessFileName para usar apenas o parâmetro mimeType e sugerir uma extensão para nomes de arquivos derivados do parâmetro de URL. (I53ecd, b/382864232).

Versão 1.13.0-alpha03

15 de janeiro de 2025

Lançamento de androidx.webkit:webkit:1.13.0-alpha03. A versão 1.13.0-alpha03 contém estas confirmações.

Novos recursos

  • Introduzimos uma nova API experimental para pré-renderização de URLs, permitindo que os desenvolvedores pré-renderizem especulativamente URLs candidatos, resultando em navegações mais rápidas. (I0cfe7).
  • Apresentamos um conjunto de novas APIs para excluir dados de navegação armazenados pelo WebView. As novas APIs em WebStorageCompat devem ser preferidas em vez das APIs atuais em android.webkit.WebStorage, porque garantem a exclusão de todo o armazenamento local, incluindo o cache de rede e os cookies, bem como todos os service workers instalados. Se novas APIs de armazenamento forem lançadas no futuro, esses novos métodos serão atualizados para incluí-las no armazenamento excluído. (Iad54f, b/382273208)
  • Adicione a API setPartitionedCookiesEnabled. Isso vai permitir que os desenvolvedores ativem e desativem cookies particionados em WebView. (Ic506a, b/364904765)

Mudanças na API

  • Mude o requisito de linha de execução para que a API Prefetch seja chamada apenas na linha de execução da interface. (I866b5).
  • Atualize os métodos WebAuthn para destacar que eles precisam ser chamados na linha de execução da interface. Esse requisito já é imposto pela implementação, e essa mudança só adiciona a anotação relevante. (I6d6ba)

Versão 1.13.0-alpha02

11 de dezembro de 2024

Lançamento de androidx.webkit:webkit:1.13.0-alpha02. A versão 1.13.0-alpha02 contém estas confirmações.

Novos recursos

  • Adicione a API de inclusão de tags de soquete ao WebView para contabilizar o tráfego de rede do WebView usando NetworkStatsManager/TrafficStats. Esse recurso só estará disponível a partir do WebView M133. (Ica441, b/374932688).

Mudanças na API

  • Atualize a API Prefetch renomeando PrefetchParameter para SpeculativeLoadingParamaters, introduzindo um novo PrefetchNetworkException, substituindo PrefetchOperationCallback por OutcomeReceiverCompat e atualizando o Javadoc. (If5072).
  • Recebe informações de diagnóstico da API de inicialização assíncrona do WebView.
  • Ofereça uma opção para que os apps acionem apenas a inicialização que não bloqueia a linha de execução da interface. (I9bf2b).

Correções de bugs

  • Agora, essa biblioteca usa anotações de nulidade do JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para garantir o uso correto: -Xjspecify-annotations=strict (esse é o padrão a partir da versão 2.1.0 do compilador Kotlin). (I0e4c5, b/326456246)

Versão 1.13.0-alpha01

13 de novembro de 2024

Lançamento de androidx.webkit:webkit:1.13.0-alpha01. A versão 1.13.0-alpha01 contém estas confirmações.

Novos recursos

  • Adição da API experimental de inicialização assíncrona WebView. (I94b8a)
  • Pré-busca de URL no perfil: foi introduzida uma nova API no perfil para permitir que os desenvolvedores acionem a pré-busca de URL. Limpeza de pré-busca: adicionamos uma API para limpar pré-buscas em andamento. (I42c5c).

Mudanças na API

  • O uso de WebView.startSafeBrowsing foi descontinuado. (If5626).

Versão 1.12

Versão 1.12.1

2 de outubro de 2024

Lançamento de androidx.webkit:webkit:1.12.1. A versão 1.12.1 contém estas confirmações.

Correções de bugs

  • Resolva o problema que impediu a disponibilidade das APIs 1.12.0 na versão.

Versão 1.12.0

18 de setembro de 2024

Lançamento de androidx.webkit:webkit:1.12.0. A versão 1.12.0 contém estas confirmações.

Mudanças importantes desde a versão 1.11.0

  • Adicione uma nova API a WebSettingsCompat para ativar/desativar o BackForwardCache para este WebSettings. Essa API é experimental e pode mudar no futuro. (aosp/3111705).
  • Adicione uma nova API a WebSettingsCompat para controlar o comportamento de carregamento especulativo para essa WebSettings. Por enquanto, apenas a pré-renderização está disponível. Essa API é experimental e pode mudar no futuro. (I13962)
  • Adição de uma nova API para ativar a autenticação da Web em WebView. Os desenvolvedores podem ativar/desativar chamadas WebAuthn em um WebView para os apps usando WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

Versão 1.12.0-rc01

4 de setembro de 2024

Lançamento de androidx.webkit:webkit:1.12.0-rc01. Esta versão não tem mudanças em relação à 1.12.0-beta01.

Versão 1.12.0-beta01

21 de agosto de 2024

Lançamento de androidx.webkit:webkit:1.12.0-beta01. A versão 1.12.0-beta01 contém estas confirmações.

Correções de bugs

  • Removemos o esboço manual do acesso a novas APIs da plataforma, já que isso acontece automaticamente pela modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, a versão 3.3 do R8) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, a versão 8.1 do D8). Recomendamos que os clientes que não usam o AGP atualizem para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (Ia60e0, b/345472586).

Versão 1.12.0-alpha02

12 de junho de 2024

Lançamento de androidx.webkit:webkit:1.12.0-alpha02. A versão 1.12.0-alpha02 contém estas confirmações.

Novos recursos

  • Adicione uma nova API a WebSettingsCompat para ativar/desativar BackForwardCache. Essa API é experimental e pode mudar no futuro. (I64a38).
  • Adicione uma nova API a WebSettingsCompat para controlar o comportamento de carregamento especulativo para essas WebSettings. Por enquanto, apenas a pré-renderização está disponível. Essa API é experimental e pode mudar no futuro. (I13962)

Mudanças na API

  • Alguns métodos agora são documentados com @UiThread quando apropriado. (I6c7e0), (I44541).
  • Os métodos seguros para linhas de execução agora são documentados com @AnyThread. (I70189).
  • Aumentar minSdkVersion de 19 para 21. (Id7a43).

Versão 1.12.0-alpha01

17 de abril de 2024

Lançamento de androidx.webkit:webkit:1.12.0-alpha01. A versão 1.12.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma nova API para ativar a autenticação da Web no WebView. Developers. Agora é possível ativar/desativar chamadas de WebAuthn em um WebView para os apps usando WebSettingsCompat#setWebAuthenticationSupport. (I8187f)

Versão 1.11

Versão 1.11.0

1º de maio de 2024

Lançamento de androidx.webkit:webkit:1.11.0. A versão 1.11.0 contém estas confirmações.

Mudanças importantes desde a versão 1.10.0

  • Permitir que os apps controlem a reprodução de áudio no WebView com as novas APIs setAudioMuted e isAudioMuted, que são análogas a silenciar uma guia no Chrome.
  • Introduzimos URLUtilCompat, que oferece suporte à análise de cabeçalhos Content-Disposition que usam o atributo de valor codificado filename*, conforme definido na RFC 6266. A API de compatibilidade também expõe diretamente um método para analisar o cabeçalho Content-Disposition quando não é desejável um nome de arquivo sugerido com base no URL e no tipo MIME.

Versão 1.11.0-rc01

3 de abril de 2024

Lançamento de androidx.webkit:webkit:1.11.0-rc01. Esta versão não tem mudanças em relação à 1.11.0-beta01.

Versão 1.11.0-beta01

20 de março de 2024

Lançamento de androidx.webkit:webkit:1.11.0-beta01 sem mudanças importantes. A versão 1.11.0-beta01 contém estas confirmações.

Versão 1.11.0-alpha02

21 de fevereiro de 2024

Lançamento de androidx.webkit:webkit:1.11.0-alpha02. A versão 1.11.0-alpha02 contém estas confirmações.

Novos recursos

  • Adição dos métodos setAudioMuted e isAudioMuted para ativar/desativar o som de WebViews. Esse método permite impedir que um WebView reproduza áudio. (Ie7a33).

Mudanças na API

  • URLUtilCompat é finalizado porque não pode ser subclassificado. (I49ec1)

Versão 1.11.0-alpha01

7 de fevereiro de 2024

Lançamento de androidx.webkit:webkit:1.11.0-alpha01. A versão 1.11.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicione compatibilidade com URLUtil.guessFileName. A versão de compatibilidade em URLUtilCompat oferece suporte à análise de cabeçalhos Content-Disposition que usam o atributo de valor codificado filename*, conforme definido na RFC 6266. A API de compatibilidade também expõe diretamente um método para analisar o cabeçalho Content-Disposition quando não é desejável um nome de arquivo sugerido com base no URL e no tipo MIME. (If6ae7, b/309927164)

Versão 1.10

Versão 1.10.0

24 de janeiro de 2024

Lançamento de androidx.webkit:webkit:1.10.0. A versão 1.10.0 contém estas confirmações.

Mudanças importantes desde a versão 1.9.0

  • Adicionamos uma nova API ao WebSettingsCompat para controlar o comportamento experimental da API Android WebView Media Integrity. Isso pode ser feito desativando a API completamente ou restringindo o compartilhamento da identidade do aplicativo na resposta da API. Isso pode ser alternado para todas as origens e para cada uma delas.

Versão 1.10.0-rc01

10 de janeiro de 2024

Lançamento de androidx.webkit:webkit:1.10.0-rc01. Esta versão não tem mudanças em relação à 1.10.0-beta01.

Versão 1.10.0-beta01

13 de dezembro de 2023

Lançamento de androidx.webkit:webkit:1.10.0-beta01. A versão 1.10.0-beta01 contém estas confirmações.

  • Nenhuma mudança funcional desde 1.10.0-alpha01.

Versão 1.10.0-alpha01

29 de novembro de 2023

Lançamento de androidx.webkit:webkit:1.10.0-alpha01. A versão 1.10.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos uma nova API ao WebSettingsCompat para controlar o comportamento experimental da API Android WebView Media Integrity. Isso pode ser feito desativando a API completamente ou restringindo o compartilhamento da identidade do aplicativo na resposta da API. Isso pode ser alternado para todas as origens e para cada uma delas.

Versão 1.9

Versão 1.9.0

29 de novembro de 2023

Lançamento de androidx.webkit:webkit:1.9.0. A versão 1.9.0 contém estas confirmações.

Mudanças importantes desde a versão 1.8.0

  • Adição de uma nova API de vários perfis para WebViews.
  • Adicionamos uma API para injetar e executar JavaScript antes do carregamento da página.
    • A API WebViewCompat#addDocumentStartJavascript permite que os apps injetem scripts em um WebView, que têm garantia de execução antes de qualquer script de página. A API permite que o app especifique uma lista de origens de destino para ativar o script, garantindo que ele seja executado apenas nas páginas pretendidas. Ao contrário de WebView#evaluateJavascript, essa API permite a execução de scripts em iframes incorporados quando eles são carregados. Os apps podem usar essa nova API em combinação com WebViewCompat#addWebMessageListener para configurar uma comunicação bidirecional com JavaScript na página de maneira confiável.
  • Adicionamos APIs para modificar como os eventos do Attribution Reporting do Sandbox de privacidade são registrados.
    • Apresentamos uma nova API WebSettingsCompat#setAttributionRegistrationBehavior (link em inglês) que permite aos desenvolvedores configurar se as origens e os acionadores de atribuição são registrados como provenientes do próprio app ou do conteúdo da Web na WebView. Esse método também pode ser usado para desativar a API Attribution Reporting na WebView. Além disso, adicionamos uma nova API WebSettingsCompat#getAttributionRegistrationBehavior para receber o comportamento atual.
    • Para mais informações, consulte a documentação do Sandbox de privacidade.
  • Adicionamos APIs para substituir metadados do user agent em dicas de cliente.
    • Introduzimos uma nova API, WebSettingsCompat#setUserAgentMetadata, para substituir os metadados do user agent da WebView usada para preencher as dicas de cliente do user agent. Também adicionamos outra API, WebSettingsCompat#getUserAgentMetadata, para receber as substituições atuais do user agent. Recomendamos que os apps usem a nova API para definir os valores de substituição corretos sempre que o app mudar a string do user agent padrão usando WebSettings.setUserAgentString para garantir que os valores corretos sejam usados em todas as situações.

Versão 1.9.0-rc01

15 de novembro de 2023

Lançamento de androidx.webkit:webkit:1.9.0-rc01. Esta versão não tem mudanças em relação à 1.9.0-beta01.

Versão 1.9.0-beta01

1º de novembro de 2023

Lançamento de androidx.webkit:webkit:1.9.0-beta01. A versão 1.9.0-beta01 contém estas confirmações.

Mudanças na API

  • Abordar o problema de nulidade da API de metadados do user agent. Atualizamos a classe BrandVersion para usar o padrão builder e tornamos a capacidade de aceitar valores nulos dos getters e setters da classe UserAgentMetadata consistente. (Ibf195).
  • Anotar ProfileStore, WebViewCompat#setProfile e WebViewCompat.getProfile com @UiThread. (I499b2)

Versão 1.9.0-alpha01

18 de outubro de 2023

Lançamento de androidx.webkit:webkit:1.9.0-alpha01. A versão 1.9.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicionamos a API de vários perfis, que permite ter sessões de navegação separadas entre WebViews. Cada perfil tem dados próprios (por exemplo, cookies). É possível criar perfis, atribuí-los a instâncias do WebView e recuperá-los depois para qualquer acesso a dados. Há uma classe singleton ProfileStore para ajudar você a gerenciar perfis por criação ou exclusão com APIs: getOrCreateProfile, getProfile, getAllProfileNames e deleteProfile. A classe Profile terá diferentes APIs para usar e receber dados associados a esse perfil, como nome, GeoLocationPermissions, ServiceWorkerController, CookieManager e WebStorage. Cada WebView será executado com o perfil padrão por padrão. No entanto, é possível mudar isso usando WebViewCompat#setProfile. Além disso, o perfil de um WebView pode ser recuperado usando WebViewCompat#getProfile. (I32d22).
  • Adicione APIs para modificar como os eventos da API Attribution Reporting são registrados. Apresentamos uma nova API WebSettingsCompat#setAttributionRegistrationBehavior que permite aos desenvolvedores configurar se as origens e os acionadores são registrados como provenientes do próprio app ou do conteúdo da Web no WebView. Esse método também pode ser usado para desativar a API Attribution Reporting no WebView. Além disso, adicionamos uma nova API WebSettingsCompat#getAttributionRegistrationBehavior para receber o comportamento atual. Para mais informações, consulte a documentação do Sandbox de privacidade. (I661f2).
  • Adicione APIs para substituir metadados do user agent. Lançamos uma nova API WebSettingsCompat#setUserAgentMetadata para substituir os metadados do user-agent da WebView, que são usados para preencher as dicas de cliente do user-agent. Também adicionamos outra API WebSettingsCompat#getUserAgentMetadata para receber as substituições atuais do user-agent. Recomendamos que os apps usem a nova API para definir os valores de substituição corretos em vez de depender da mudança do user-agent. (I74500)
  • Adicione uma API para injetar JavaScript a ser executado durante o carregamento da página. A API WebViewCompat.addDocumentStartJavascript permite que os apps injetem scripts em uma WebView, que serão executados antes de qualquer script de página. A API permite que o app especifique uma lista de origens de destino para ativar o script, garantindo que ele seja executado apenas nas páginas pretendidas. Ao contrário de WebView.evaluateJavascript, essa API permite a execução de scripts em iframes incorporados quando eles são carregados. (Ide063)

Versão 1.8

Versão 1.8.0

6 de setembro de 2023

Lançamento de androidx.webkit:webkit:1.8.0. A versão 1.8.0 contém estas confirmações.

Mudanças importantes desde a versão 1.7.0

Versão 1.8.0-rc01

9 de agosto de 2023

androidx.webkit:webkit:1.8.0-rc01 é lançado sem mudanças desde 1.8.0-beta01. A versão 1.8.0-rc01 contém estas confirmações.

Versão 1.8.0-beta01

26 de julho de 2023

androidx.webkit:webkit:1.8.0-beta01 é lançado sem mudanças desde 1.8.0-alpha01. A versão 1.8.0-beta01 contém estas confirmações.

Versão 1.8.0-alpha01

7 de junho de 2023

Lançamento de androidx.webkit:webkit:1.8.0-alpha01. A versão 1.8.0-alpha01 contém estas confirmações.

Mudanças na API

  • Consulte a seção "Contribuição externa".

Contribuição externa

  • Adicionamos suporte para transmitir ArrayBuffer por WebMessagePortCompat#postMessage, JsReplyProxy#postMessage e WebViewCompat#postWebMessage, receber ArrayBuffer do JavaScript por WebMessagePortCompat e WebMessageListener e receber ArrayBuffer transferível do JavaScript por WebMessagePortCompat. Essa API só estará disponível a partir da versão 116 do WebView. (Ie7567, b/251152171).

Versão 1.7

Versão 1.7.0

24 de maio de 2023

Lançamento de androidx.webkit:webkit:1.7.0. A versão 1.7.0 contém estas confirmações.

Mudanças importantes desde a versão 1.6.0

  • Adicionamos suporte para arrastar imagens em WebView. Você pode permitir que os usuários arrastem imagens para fora do WebView adicionando o novo DropDataContentProvider ao manifesto do app, conforme descrito na documentação da classe.
  • Adicionamos a API ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File), que pode ser usada para definir os diretórios de base que o WebView vai usar no processo atual. Assim como todos os métodos em ProcessGlobalConfig, esse método precisa ser chamado antes da primeira instância de WebView ser instanciada. Esse método é adicionado para fornecer ao framework do Android a capacidade de ajustar as configurações de WebView. Para aplicativos de uso geral, não é recomendável usar esse método.

Versão 1.7.0-rc01

10 de maio de 2023

androidx.webkit:webkit:1.7.0-rc01 é lançado sem mudanças desde 1.7.0-beta01. A versão 1.7.0-rc01 contém estas confirmações.

Versão 1.7.0-beta01

5 de abril de 2023

Lançamento de androidx.webkit:webkit:1.7.0-beta01. A versão 1.7.0-beta01 contém estas confirmações.

Mudanças na API

  • Mudança pequena na flag de recurso e no nome do método. Agora, setDirectoryBasePaths() aceita "File" em vez de "String" (Ib0d0a).

Versão 1.7.0-alpha03

8 de março de 2023

Lançamento de androidx.webkit:webkit:1.7.0-alpha03. A versão 1.7.0-alpha03 contém estas confirmações.

Mudanças na API

  • Adicione a API ProcessGlobalConfig#setDirectoryBasePath(String, String), que pode ser usada para definir os diretórios de base que o WebView vai usar no processo atual. (Ibd1a1, b/250553687).

Correções de bugs

  • Correção de uma regra ProGuard inválida que causava erros de build ao usar DexGuard (Ia65c2, b/270034835).

Versão 1.7.0-alpha02

8 de fevereiro de 2023

Lançamento de androidx.webkit:webkit:1.7.0-alpha02. A versão 1.7.0-alpha02 contém estas confirmações.

Correções de bugs

  • Bugs na documentação de DropDataContentProvider.

Versão 1.7.0-alpha01

25 de janeiro de 2023

Lançamento de androidx.webkit:webkit:1.7.0-alpha01. A versão 1.7.0-alpha01 contém estas confirmações.

Novos recursos

  • Estamos adicionando suporte para arrastar imagens em WebView. Para permitir que os usuários arrastem imagens para fora do WebView, adicione o novo DropDataContentProvider ao manifesto do app. (05a1a6)

Versão 1.6

Versão 1.6.1

22 de março de 2023

Lançamento de androidx.webkit:webkit:1.6.1. A versão 1.6.1 contém estas confirmações.

Correções de bugs

  • Correção do erro de análise do ProGuard (Ia65c2).

Versão 1.6.0

25 de janeiro de 2023

Lançamento de androidx.webkit:webkit:1.6.0. A versão 1.6.0 contém estas confirmações.

Mudanças importantes desde a versão 1.5.0

  • Uma nova API ProcessGlobalConfig foi adicionada para permitir que os apps forneçam configurações que precisam ser definidas antes de carregar o WebView, como o sufixo do diretório de dados do WebView. A configuração precisa ser definida e aplicada o mais cedo possível durante a inicialização do aplicativo para garantir que isso aconteça antes que qualquer outra linha de execução possa chamar um método que carregue WebView no processo.
  • Uma nova API CookieManagerCompat foi adicionada para expandir android.webkit.CookieManager com um novo método getCookieInfo, que recupera todos os atributos de todos os cookies definidos em um URL específico. Isso difere da API getCookie atual em CookieManager, que retorna apenas os atributos de nome e valor dos cookies.
  • O WebSettingsCompat tem novos métodos para ativar/desativar o efeito do EnterpriseAuthenticationAppLinkPolicy se definido pelo administrador em WebView e para receber a configuração atual. Com esse recurso, a WebView abre um app de autenticação em vez do URL de autenticação. Esse recurso não tem efeito em dispositivos que não são gerenciados por uma política corporativa.
  • Adição de uma nova API ao WebSettingsCompat para permitir que os aplicativos enviem explicitamente o nome do pacote do app no cabeçalho X-Requested-With para origens na lista de permissões. O cabeçalho é enviado tradicionalmente em todas as solicitações de WebView.

Versão 1.6.0-rc01

11 de janeiro de 2023

Lançamento de androidx.webkit:webkit:1.6.0-rc01. A versão 1.6.0-rc01 contém estas confirmações.

Correções de bugs

  • Foi corrigido o NullPointerException em WebViewFeature.isStartupFeatureSupported(Context, String) ao executar em SDK < L. (Ic7292).

Versão 1.6.0-beta01

7 de dezembro de 2022

Lançamento de androidx.webkit:webkit:1.6.0-beta01. A versão 1.6.0-beta01 contém estas confirmações.

Mudanças na API

  • ProcessGlobalConfig foi alterado para usar um construtor normal e um método de aplicação estático. O método "apply" só pode ser chamado uma vez por processo, o mais cedo possível, e vai gerar uma exceção IllegalStateException se for chamado mais de uma vez. Os objetos ProcessGlobalConfig não têm mais restrições quanto ao número de vezes que os setters podem ser chamados. (I456c3).

Versão 1.6.0-alpha03

9 de novembro de 2022

Lançamento de androidx.webkit:webkit:1.6.0-alpha03. A versão 1.6.0-alpha03 contém estas confirmações.

Novos recursos

  • Adicione a classe ProcessGlobalConfig para permitir que os usuários definam a configuração global do processo antes de carregar WebView. O WebView tem alguns parâmetros de configuração globais do processo que não podem ser mudados depois que o WebView é carregado (por exemplo, o diretório de dados WebView). Essa classe permite que os apps definam esses parâmetros. A configuração precisa ser definida e aplicada o mais cedo possível durante a inicialização do aplicativo para garantir que isso aconteça antes que qualquer outra linha de execução possa chamar um método que carregue WebView no processo. (I7c0e0, b/250553687)
  • Adição de uma nova API para permitir que os aplicativos enviem explicitamente o nome do pacote do app no cabeçalho X-Requested-With para origens na lista de permissões. O cabeçalho é enviado tradicionalmente em todas as solicitações de WebView. (I0adfe, b/226552535).

Mudanças na API

  • A API WebSettingsCompat#setAlgorithmicDarkeningAllowed é compatível com todas as versões do Android na versão 105 e mais recentes do WebView. As versões anteriores do WebView só eram compatíveis com a API no Android Q e em versões mais recentes. Como resultado, essa API não é mais marcada como @RequiresApi(Build.VERSION_CODES.Q). (I3ac1d).

Versão 1.6.0-alpha02

24 de outubro de 2022

Lançamento de androidx.webkit:webkit:1.6.0-alpha02. A versão 1.6.0-alpha02 contém estas confirmações.

Novos recursos

  • Adiciona uma nova classe CookieManagerCompat e uma API getCookieInfo que recupera todos os atributos de todos os cookies definidos em um URL específico. Isso difere da API getCookie atual em CookieManager, que retorna apenas os atributos de nome e valor dos cookies. (I07365, b/242161756).

Versão 1.6.0-alpha01

24 de agosto de 2022

Lançamento de androidx.webkit:webkit:1.6.0-alpha01. A versão 1.6.0-alpha01 contém estas confirmações.

Novos recursos

  • Foram adicionadas APIs em WebSettingsCompat para ativar/desativar o efeito de EnterpriseAuthenticationAppLinkPolicy se definido pelo administrador em WebView. Com esse recurso, o WebView abre um app de autenticação em vez do URL de autenticação. Esse recurso não tem efeito em dispositivos que não são gerenciados por uma política corporativa.

Versão 1.5.0

Versão 1.5.0

24 de agosto de 2022

Lançamento de androidx.webkit:webkit:1.5.0. A versão 1.5.0 contém estas confirmações.

Mudanças importantes desde a versão 1.4.0

  • Uma nova API setAlgorithmicDarkeningAllowed em WebSettingsCompat substitui as APIs setForceDark e setForceDarkStrategy antigas. Os apps destinados ao SDK 33 e versões mais recentes (T) precisam usar a nova API, já que a antiga não terá mais efeito nesses apps.
  • Agora é possível definir uma lista de permissões de URLs para usar o proxy configurado com ProxyCofig.Builder definindo setReverseBypassEnabled como true. Quando isso acontece, todos os outros URLs ignoram o proxy configurado.

Versão 1.5.0-rc01

10 de agosto de 2022

androidx.webkit:webkit:1.5.0-rc01 é lançado sem mudanças desde 1.5.0-beta01. A versão 1.5.0-rc01 contém estas confirmações.

Versão 1.5.0-beta01

29 de junho de 2022

Lançamento de androidx.webkit:webkit:1.5.0-beta01. A versão 1.5.0-beta01 contém estas confirmações.

Mudanças na API

  • As APIs relacionadas ao escurecimento algorítmico agora são anotadas para exigir o nível da API Q. A API não terá efeito em níveis de API anteriores a Q, já que o tema escuro não é uma opção nesses dispositivos. (I0905e).

Versão 1.5.0-alpha01

18 de maio de 2022

Lançamento de androidx.webkit:webkit:1.5.0-alpha01. A versão 1.5.0-alpha01 contém estas confirmações.

Novos recursos

  • Adicione um novo método getVariationsHeader() em WebViewCompat para receber o valor do cabeçalho X-Client-Data enviado pelo WebView. O valor retornado será um protobuf ClientVariations codificado em base64.
  • Adicione APIs em WebSettingsCompat para permitir/não permitir o escurecimento algorítmico em apps com targetSdk >= 33. (I29597)

Mudanças na API

  • Adicione um novo método em ProxyCofig.Builder para definir o bypass reverso. Definir o bypass reverso como "true" significa que apenas os URLs na lista de bypass vão usar as configurações de proxy. (I9eaa2, b/168728599).

Correções de bugs

  • Correção de um erro de digitação na documentação do tema escuro. (I36ebf, b/194343633).
  • Correção de um bug em que os métodos WebViewAssetLoader.Builder dependiam da ordem sem intenção. (If420d, b/182196765).

Versão 1.4.0

Versão 1.4.0

16 de dezembro de 2020

Lançamento de androidx.webkit:webkit:1.4.0. A versão 1.4.0 contém estas confirmações.

Principais mudanças desde a versão 1.3.0

  • Adição de uma nova API setSafeBrowsingAllowlist() para substituir setSafeBrowsingWhitelist(). Isso ajuda os apps a atualizar o código para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API suspensa.
  • Correção de um bug no setProxyOverride que fazia com que as regras de substituição não fossem aplicadas corretamente.

Versão 1.4.0-rc02

2 de dezembro de 2020

Lançamento de androidx.webkit:webkit:1.4.0-rc02. A versão 1.4.0-rc02 contém estas confirmações.

Correções de bugs

  • Corrige a aplicação incorreta de regras de substituição durante o uso de setProxyOverride.

Versão 1.4.0-rc01

11 de novembro de 2020

androidx.webkit:webkit:1.4.0-rc01 é lançado sem mudanças desde 1.4.0-beta01. A versão 1.4.0-rc01 contém estas confirmações.

Versão 1.4.0-beta01

14 de outubro de 2020

androidx.webkit:webkit:1.4.0-beta01 é lançado sem mudanças desde 1.4.0-alpha01. A versão 1.4.0-beta01 contém estas confirmações.

Versão 1.4.0-alpha01

16 de setembro de 2020

androidx.webkit:webkit:1.4.0-alpha01 é lançado. A versão 1.4.0-alpha01 contém estas confirmações.

Mudanças na API

  • Adição de uma nova API WebViewCompat#setSafeBrowsingAllowlist() para substituir setSafeBrowsingWhitelist(). Isso ajuda os apps a atualizar o código deles para evitar terminologia não inclusiva, sem deixar de oferecer compatibilidade com o mesmo intervalo de SDKs do Android e versões do WebView da API obsoleta (I8d65d).

Versão 1.3.0

Versão 1.3.0

19 de agosto de 2020

androidx.webkit:webkit:1.3.0 é lançado. A versão 1.3.0 contém estas confirmações.

Principais mudanças desde a versão 1.2.0

  • A API ForceDarkStrategy oferece mais controle para o escurecimento do WebView (escurecimento de conteúdo da Web/CSS em comparação com o escurecimento automático).
  • A WebMessageListener e as APIs relacionadas fornecem um mecanismo simples e seguro para estabelecer comunicação entre conteúdos da Web e o aplicativo incorporado do WebView.
  • API isMultiProcessEnabled para verificar se o WebView está sendo executado em vários processos. Isso é possível a partir do Android O e significa que o conteúdo da Web é renderizado em um processo de renderizador em sandbox separado para o processo do aplicativo. Esse renderizador em sandbox pode ser compartilhado com outros WebViews no mesmo aplicativo, mas não é compartilhado com outros processos do aplicativo.

Versão 1.3.0-rc02

5 de agosto de 2020

androidx.webkit:webkit:1.3.0-rc02 é lançado. A versão 1.3.0-rc02 contém estas confirmações.

Correções de bugs

  • Isso corrige um problema de compatibilidade em que o WebMessageListener às vezes falhava durante o desenvolvimento local se o app fosse iniciado com a execução instantânea do Android Studio.

Versão 1.3.0-rc01

24 de junho de 2020

androidx.webkit:webkit:1.3.0-rc01 é lançado sem mudanças desde 1.3.0-beta01. A versão 1.3.0-rc01 contém estas confirmações.

Versão 1.3.0-beta01

10 de junho de 2020

androidx.webkit:webkit:1.3.0-beta01 é lançado. A versão 1.3.0-beta01 contém estas confirmações.

Novos recursos

  • API ForceDarkStrategy para controlar o escurecimento de WebView (escurecimento do CSS/conteúdo da Web em comparação ao escurecimento automático).
  • As APIs WebMessageListener oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.
  • API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.

Versão 1.3.0-alpha03

27 de maio de 2020

androidx.webkit:webkit:1.3.0-alpha03 é lançado. A versão 1.3.0-alpha03 contém essas confirmações.

Mudanças na API

  • O método addWebMessageListener agora recebe uma Set<String> de regras de origem permitidas (antes era uma List<String>).

Versão 1.3.0-alpha02

29 de abril de 2020

androidx.webkit:webkit:1.3.0-alpha02 é lançado. A versão 1.3.0-alpha02 contém estas confirmações.

Novos recursos

  • API MultiProcessEnabled para verificar se o WebView está sendo executado no modo de vários processos.

Mudanças na API

  • Todas as constantes de estratégia escuras agora têm o prefixo DARK_STRATEGY.

Versão 1.3.0-alpha01

15 de abril de 2020

androidx.webkit:webkit:1.3.0-alpha01 é lançado. A versão 1.3.0-alpha01 contém estas confirmações.

Novos recursos

  • API ForceDarkStrategy para controlar o escurecimento de WebView (escurecimento do conteúdo CSS/da Web em comparação ao escurecimento automático).
  • As APIs WebMessageListener oferecem um mecanismo simples e seguro para estabelecer a comunicação entre o conteúdo da Web e o app de incorporação do WebView.

Versão 1.2.0

Versão 1.2.0

4 de março de 2020

androidx.webkit:webkit:1.2.0 é lançado. A versão 1.2.0 contém estas confirmações.

Principais mudanças desde a versão 1.1.0

  • A API ForceDark foi adicionada para controlar se os WebViews serão renderizados no modo escuro.

Versão 1.2.0-rc01

19 de fevereiro de 2020

androidx.webkit:webkit:1.2.0-rc01 é lançado sem mudanças desde 1.2.0-beta01. A versão 1.2.0-rc01 contém estas confirmações.

Versão 1.2.0-beta01

5 de fevereiro de 2020

androidx.webkit:webkit:1.2.0-beta01 é lançado sem mudanças desde 1.2.0-alpha01. Versão 1.2.0-beta01 contém essas confirmações (link em inglês).

Versão 1.2.0-alpha01

18 de dezembro de 2019

androidx.webkit:webkit:1.2.0-alpha01 é lançado. A versão 1.2.0-alpha01 contém essas confirmações (link em inglês).

Novos recursos

  • API ForceDark para controlar a renderização dos WebViews no modo escuro.

Versão 1.1.0

Versão 1.1.0

7 de novembro de 2019

androidx.webkit:webkit:1.1.0 é lançado. A versão 1.1.0 contém estas confirmações.

Mudanças importantes desde a versão 1.0.0

  • APIs Getter para complementar setWebViewClient() e setWebChromeClient().
  • API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
  • API WebViewAssetLoader para simplificar o carregamento de recursos APK, recursos e arquivos do diretório de dados do app por meio de interceptação de solicitação. Isso permite o acesso a recursos locais e da Web sem desativar o CORS.
  • API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
  • API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.
  • Atualização das APIs existentes para incluir anotações de valores nulos (@NonNull, @Nullable) e de linha de execução (@UiThread, @WorkerThread).

Versão 1.1.0-rc01

9 de outubro de 2019

androidx.webkit:webkit:1.1.0-rc01 é lançado. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).

Correções de bugs

  • Correção de um problema em que o setWebViewRenderProcessClient() poderia falhar se transmitisse um cliente nulo.

Versão 1.1.0-beta01

5 de setembro de 2019

Lançamento de androidx.webkit:webkit:1.1.0-beta01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • Novo InternalStoragePathHandler em WebViewAssetLoader para carregar arquivos a partir do diretório de dados do app.

Mudanças na API

  • ProxyConfig#getProxyRules() agora retorna uma lista inalterável de instâncias ProxyRule, que é uma nova classe para manter um filtro de esquema e seu URL de proxy correspondente.

Correções de bugs

  • O valor padrão de WebViewAssetLoader é um tipo MIME "text/plain", em vez de nulo, quando não consegue adivinhar o tipo MIME a partir do caminho do arquivo.
  • WebViewAssetLoader não gera mais NullPointerException ao carregar arquivos com caracteres especiais nos nomes de caminho.

Versão 1.1.0-alpha02

7 de agosto de 2019

androidx.webkit:webkit:1.1.0-alpha02 é lançado. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • WebViewAssetLoader expõe a interface PathHandler para permitir que os apps criem funcionalidades personalizadas de processamento de caminhos.

Mudanças na API

  • WebViewAssetLoader agora é uma classe final, já que ela não pode ter uma subclasse.
  • As implementações de WebViewAssetLoader#PathHandler agora são públicas e definitivas.
  • Pequenas mudanças nos nomes de métodos ProxyConfig.
  • ProxyController: adição dos novos métodos addDirect() e addDirect(String) para se conectar diretamente aos servidores. A string DIRECT foi removida.
  • Atualização das APIs existentes para incluir anotações de valores nulos (@NonNull, @Nullable) e de linha de execução (@UiThread, @WorkerThread).

Versão 1.1.0-alpha01

7 de maio de 2019

Lançamento de androidx.webkit:webkit:1.1.0-alpha01. As confirmações incluídas nessa versão podem ser encontradas neste link.

Novos recursos

  • APIs de getter para complementar setWebViewClient() e setWebChromeClient()
  • API ProxyController para definir um proxy de solicitação de rede para WebViews de um app.
  • API AssetLoader para simplificar o carregamento de recursos do APK por meio de interceptação de solicitação, permitindo acesso a recursos da Web sem desativar o CORS.
  • API TracingController para coletar informações de rastreamento do WebView para fins de depuração.
  • API RenderProcess para gerenciar serviços do renderizador do WebView e detectar quando um conteúdo com comportamento inadequado faz com que os renderizadores do WebView deixem de responder.

Correções de bugs

  • Pequenas correções na formatação da documentação para APIs existentes.