Webkit
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
13 novembre 2024 | 1.9.0 | - | - | 1.13.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da Webkit, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.webkit:webkit:1.9.0" }
Kotlin
dependencies { implementation("androidx.webkit:webkit:1.9.0") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Versione 1.13
Versione 1.13.0-alpha01
13 novembre 2024
androidx.webkit:webkit:1.13.0-alpha01
viene rilasciato. La versione 1.13.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiungi l'API di avvio asincrona
WebView
sperimentale. (I94b8a) - Precaricamento degli URL in Profilo: è stata introdotta una nuova API in Profilo per consentire agli sviluppatori di attivare il precaricamento degli URL. Cancellazione del prefetch: è stata aggiunta un'API per cancellare i prefetch in corso. (I42c5c)
Modifiche all'API
- Ignora
WebView.startSafeBrowsing
. (If5626)
Versione 1.12
Versione 1.12.1
2 ottobre 2024
androidx.webkit:webkit:1.12.1
viene rilasciato. La versione 1.12.1 contiene questi commit.
Correzioni di bug
- Risolvere il problema che impediva la disponibilità delle API 1.12.0 nella release.
Versione 1.12.0
18 settembre 2024
androidx.webkit:webkit:1.12.0
viene rilasciato. La versione 1.12.0 contiene questi commit.
Modifiche importanti dalla versione 1.11.0
- Aggiungi una nuova API a
WebSettingsCompat
per attivare/disattivare BackForwardCache per questoWebSettings
. Questa API è sperimentale e può essere modificata in futuro. (aosp/3111705) - Aggiungi una nuova API a
WebSettingsCompat
per controllare il comportamento di caricamento speculativo per questoWebSettings
. Al momento è disponibile solo la funzionalità Prerender. Questa API è sperimentale e può essere modificata in futuro. (I13962) - È stata aggiunta una nuova API per abilitare l'autenticazione web in
WebView
. Gli sviluppatori possono attivare/disattivare le chiamateWebAuthn
in unWebView
per le loro app utilizzandoWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Versione 1.12.0-rc01
4 settembre 2024
androidx.webkit:webkit:1.12.0-rc01
viene rilasciato. Questa release non contiene modifiche rispetto alla release 1.12.0-beta01
.
Versione 1.12.0-beta01
21 agosto 2024
androidx.webkit:webkit:1.12.0-beta01
viene rilasciato. La versione 1.12.0-beta01 contiene questi commit.
Correzioni di bug
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I clienti che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
Versione 1.12.0-alpha02
12 giugno 2024
androidx.webkit:webkit:1.12.0-alpha02
viene rilasciato. La versione 1.12.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiungi una nuova API a
WebSettingsCompat
per attivare/disattivareBackForwardCache
. Questa API è sperimentale e può essere modificata in futuro. (I64a38) - Aggiungi una nuova API a
WebSettingsCompat
per controllare il comportamento di caricamento speculativo per queste impostazioni web. Al momento è disponibile solo la funzionalità Prerender. Questa API è sperimentale e può essere modificata in futuro. (I13962)
Modifiche all'API
- Alcuni metodi ora sono documentati con
@UiThread
, ove appropriato. (I6c7e0), (I44541) - I metodi a prova di thread sono ora documentati con
@AnyThread
. (I70189) - Aumento di
minSdkVersion
da 19 a 21. (Id7a43)
Versione 1.12.0-alpha01
17 aprile 2024
androidx.webkit:webkit:1.12.0-alpha01
viene rilasciato. La versione 1.12.0-alpha01 contiene questi commit.
Modifiche all'API
- È stata aggiunta una nuova API per abilitare l'autenticazione web in
WebView. Developers
, che può attivare/disattivare le chiamateWebAuthn
in unWebView
per le proprie app che utilizzanoWebSettingsCompat#setWebAuthenticationSupport
. (I8187f)
Versione 1.11
Versione 1.11.0
1° maggio 2024
androidx.webkit:webkit:1.11.0
viene rilasciato. La versione 1.11.0 contiene questi commit.
Modifiche importanti dalla versione 1.10.0
- Consenti alle app di controllare la riproduzione audio in
WebView
tramite le nuove APIsetAudioMuted
eisAudioMuted
, che sono analoghe al silenziamento di una scheda in Chrome. - È stato introdotto
URLUtilCompat
, che supporta l'analisi delle intestazioniContent-Disposition
che utilizzano l'attributo del valore codificatofilename*
come definito in RFC 6266. L'API di compatibilità espone anche direttamente un metodo per analizzare l'intestazioneContent-Disposition
quando non è desiderato un nome file suggerito in base all'URL e al tipo MIME.
Versione 1.11.0-rc01
3 aprile 2024
androidx.webkit:webkit:1.11.0-rc01
viene rilasciato. Questa release non contiene modifiche rispetto alla release 1.11.0-beta01
.
Versione 1.11.0-beta01
20 marzo 2024
androidx.webkit:webkit:1.11.0-beta01
viene rilasciato senza modifiche significative. La versione 1.11.0-beta01 contiene questi commit.
Versione 1.11.0-alpha02
21 febbraio 2024
androidx.webkit:webkit:1.11.0-alpha02
viene rilasciato. La versione 1.11.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiungi i metodi
setAudioMuted
eisAudioMuted
per disattivare (e riattivare) l'audio diWebViews
. Questo metodo ti consente di impedire a unWebView
di riprodurre l'audio. (Ie7a33)
Modifiche all'API
URLUtilCompat
è stato reso definitivo in quanto non deve essere sottoclassificato. (I49ec1)
Versione 1.11.0-alpha01
7 febbraio 2024
androidx.webkit:webkit:1.11.0-alpha01
viene rilasciato. La versione 1.11.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiungi la compatibilità per
URLUtil.guessFileName
. La versione di compatibilità inURLUtilCompat
supporta l'analisi delle intestazioniContent-Disposition
che utilizzano l'attributo valore codificatofilename*
come definito in RFC 6266. L'API di compatibilità espone anche direttamente un metodo per analizzare l'intestazioneContent-Disposition
quando non è desiderato un nome file suggerito in base all'URL e al tipo MIME. (If6ae7, b/309927164)
Versione 1.10
Versione 1.10.0
24 gennaio 2024
androidx.webkit:webkit:1.10.0
viene rilasciato. La versione 1.10.0 contiene questi commit.
Modifiche importanti dalla versione 1.9.0
- È stata aggiunta una nuova API a WebSettingsCompat per controllare il comportamento sperimentale dell'API Android WebView Media Integrity disattivando completamente l'API o limitando la condivisione dell'identità dell'applicazione nella risposta dell'API. Questa opzione può essere attivata e disattivata per tutte le origini e per ogni origine.
Versione 1.10.0-rc01
10 gennaio 2024
androidx.webkit:webkit:1.10.0-rc01
viene rilasciato. Questa release non contiene modifiche rispetto alla release 1.10.0-beta01
.
Versione 1.10.0-beta01
13 dicembre 2023
androidx.webkit:webkit:1.10.0-beta01
viene rilasciato. La versione 1.10.0-beta01 contiene questi commit.
- Nessuna modifica funzionale da
1.10.0-alpha01
.
Versione 1.10.0-alpha01
29 novembre 2023
androidx.webkit:webkit:1.10.0-alpha01
viene rilasciato. La versione 1.10.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stata aggiunta una nuova API a
WebSettingsCompat
per controllare il comportamento sperimentale dell'API Android WebView Media Integrity disattivando completamente l'API o limitando la condivisione dell'identità dell'applicazione nella risposta dell'API. Questa opzione può essere attivata e disattivata per tutte le origini e per ogni origine.
Versione 1.9
Versione 1.9.0
29 novembre 2023
androidx.webkit:webkit:1.9.0
viene rilasciato. La versione 1.9.0 contiene questi commit.
Modifiche importanti dalla versione 1.8.0
- È stata aggiunta una nuova API multiprofilo per le WebView.
- L'interfaccia Profile ha diverse API da utilizzare per recuperare i dati associati a questo profilo, ad esempio il nome, GeoLocationPermissions, ServiceWorkerController, CookieManager e WebStorage. Questi oggetti sono specifici del profilo e le informazioni non vengono condivise tra i diversi profili dell'applicazione.
- Il profilo utilizzato da un'istanza
WebView
può essere modificato utilizzando il metodo WebViewCompat#setProfile e recuperato utilizzando WebViewCompat#getProfile - La funzionalità ProfileStore appena introdotta ti consente di gestire i profili disponibili nella tua applicazione, incluso il profilo predefinito.
- Le API WebView esistenti, come CookieManager#getInstance, continueranno a funzionare nel profilo predefinito.
- È stata aggiunta un'API per iniettare ed eseguire JavaScript prima del caricamento della pagina.
- L'API WebViewCompat#addDocumentStartJavascript consente alle app di iniettare script in un
WebView
che verranno eseguiti prima di qualsiasi script della pagina. L'API consente all'app di specificare un elenco di origini di destinazione per l'attivazione dello script, garantendo che venga eseguito solo nelle pagine previste. A differenza di WebView#evaluateJavascript, questa API consente l'esecuzione degli script negli iframe incorporati al momento del caricamento. Le app possono utilizzare questa nuova API in combinazione con WebViewCompat#addWebMessageListener per configurare in modo affidabile la comunicazione bidirezionale con JavaScript nella pagina.
- L'API WebViewCompat#addDocumentStartJavascript consente alle app di iniettare script in un
- Sono state aggiunte API per modificare il modo in cui vengono registrati gli eventi Attribution Reporting di Privacy Sandbox.
- Abbiamo introdotto una nuova API WebSettingsCompat#setAttributionRegistrationBehavior che consente agli sviluppatori di configurare se le origini e gli attivatori dell'attribuzione devono essere registrati come provenienti dall'app stessa o dai contenuti web in WebView. Questo metodo può essere utilizzato anche per disattivare i report sull'attribuzione in WebView. Inoltre, abbiamo aggiunto una nuova API
WebSettingsCompat#getAttributionRegistrationBehavior
per ottenere il comportamento corrente. - Per ulteriori informazioni, consulta la documentazione di Privacy Sandbox.
- Abbiamo introdotto una nuova API WebSettingsCompat#setAttributionRegistrationBehavior che consente agli sviluppatori di configurare se le origini e gli attivatori dell'attribuzione devono essere registrati come provenienti dall'app stessa o dai contenuti web in WebView. Questo metodo può essere utilizzato anche per disattivare i report sull'attribuzione in WebView. Inoltre, abbiamo aggiunto una nuova API
- Sono state aggiunte API per eseguire l'override dei metadati dello user agent per i suggerimenti client.
- Abbiamo introdotto una nuova API, WebSettingsCompat#setUserAgentMetadata, per eseguire l'override dei metadati dell'user-agent per WebView utilizzati per compilare gli indizi client dell'user-agent e abbiamo aggiunto un'altra nuova API, WebSettingsCompat#getUserAgentMetadata, per ottenere le sostituzioni dell'user-agent correnti. Invitiamo le app a utilizzare la nuova API per impostare i valori di sostituzione corretti ogni volta che l'app modifica la stringa dell'agente utente predefinita utilizzando WebSettings.setUserAgentString per garantire che vengano utilizzati i valori corretti in tutte le situazioni.
Versione 1.9.0-rc01
15 novembre 2023
androidx.webkit:webkit:1.9.0-rc01
viene rilasciato. Questa release non contiene modifiche rispetto alla release 1.9.0-beta01
.
Versione 1.9.0-beta01
1° novembre 2023
androidx.webkit:webkit:1.9.0-beta01
viene rilasciato. La versione 1.9.0-beta01 contiene questi commit.
Modifiche all'API
- Risolvere il problema di nullità dell'API dei metadati dell'agente utente. Aggiorniamo la classe
BrandVersion
per utilizzare il pattern di creazione, rendendo coerente la nullabilità dei getter e dei setters della classeUserAgentMetadata
. (Ibf195) - Annotazione di
ProfileStore
,WebViewCompat#setProfile
eWebViewCompat.getProfile
con@UiThread
. (I499b2)
Versione 1.9.0-alpha01
18 ottobre 2023
androidx.webkit:webkit:1.9.0-alpha01
viene rilasciato. La versione 1.9.0-alpha01 contiene questi commit.
Nuove funzionalità
- Abbiamo aggiunto l'API multiprofilo che ti consente di avere sessioni di navigazione separate tra
WebViews
, ogni profilo ha i propri dati (ad es. cookie). Puoi creare profili, assegnarli a istanzeWebView
e recuperarli in un secondo momento per qualsiasi accesso ai dati. Esiste una classe singletonProfileStore
che ti aiuta a gestire i profili tramite creazione o eliminazione con le APIgetOrCreateProfile
,getProfile
,getAllProfileNames
edeleteProfile
. La classeProfile
avrà API diverse da utilizzare per ottenere i dati associati a questo profilo, come il nome,GeoLocationPermissions
,ServiceWorkerController
,CookieManager
eWebStorage
. Per impostazione predefinita, ogniWebView
viene eseguito con il profilo predefinito, ma puoi modificarlo utilizzandoWebViewCompat#setProfile
. A questo proposito, il profilo di unWebView
può essere recuperato utilizzandoWebViewCompat#getProfile
. (I32d22) - Aggiungi API per modificare il modo in cui vengono registrati gli eventi di Attribution Reporting. Abbiamo introdotto una nuova API
WebSettingsCompat#setAttributionRegistrationBehavior
che consente agli sviluppatori di configurare se le origini e gli attivatori devono essere registrati come provenienti dall'app stessa o dai contenuti web inWebView
. Questo metodo può essere utilizzato anche per disattivare i report sull'attribuzione inWebView
. Inoltre, abbiamo aggiunto una nuova APIWebSettingsCompat#getAttributionRegistrationBehavior
per ottenere il comportamento corrente. Per ulteriori informazioni, consulta la documentazione di Privacy Sandbox. (I661f2) - Aggiungi API per eseguire l'override dei metadati dello user agent. Abbiamo introdotto una nuova API
WebSettingsCompat#setUserAgentMetadata
per eseguire l'override dei metadati dello user agent per WebView, che viene utilizzata per compilare gli indizi client dello user agent, e abbiamo aggiunto un'altra nuova APIWebSettingsCompat#getUserAgentMetadata
per ottenere le sostituzioni dello user agent correnti. Consigliamo alle app di utilizzare la nuova API per impostare i valori di override corretti anziché fare affidamento sulla modifica dell'user-agent. (I74500) - Aggiungi un'API per iniettare JavaScript da eseguire durante il caricamento della pagina. L'API
WebViewCompat.addDocumentStartJavascript
consente alle app di iniettare script in un WebView che verranno eseguiti prima di qualsiasi script di pagina. L'API consente all'app di specificare un elenco di origini di destinazione per l'attivazione dello script, garantendo che venga eseguito solo nelle pagine previste. A differenza diWebView.evaluateJavascript
, questa API consente l'esecuzione di script negli iframe incorporati al momento del caricamento. (Ide063)
Versione 1.8
Versione 1.8.0
6 settembre 2023
androidx.webkit:webkit:1.8.0
viene rilasciato. La versione 1.8.0 contiene questi commit.
Modifiche importanti dalla versione 1.7.0
- Aggiunta del supporto per il passaggio di
ArrayBuffer
tramiteWebMessagePortCompat#postMessage
,JavaScriptReplyProxy#postMessage
eWebViewCompat#postWebMessage
, ricezione diArrayBuffer
da JavaScript tramiteWebMessagePortCompat
eWebMessageListener
e ricezione diArrayBuffer
trasferibile da JavaScript tramiteWebMessagePortCompat
. (aosp/2596550, b/251152171)
Versione 1.8.0-rc01
9 agosto 2023
androidx.webkit:webkit:1.8.0-rc01
viene rilasciato senza modifiche dal giorno 1.8.0-beta01
. La versione 1.8.0-rc01 contiene questi commit.
Versione 1.8.0-beta01
26 luglio 2023
androidx.webkit:webkit:1.8.0-beta01
viene rilasciato senza modifiche dal giorno 1.8.0-alpha01
. La versione 1.8.0-beta01 contiene questi commit.
Versione 1.8.0-alpha01
7 giugno 2023
androidx.webkit:webkit:1.8.0-alpha01
viene rilasciato. La versione 1.8.0-alpha01 contiene questi commit.
Modifiche all'API
- Consulta la sezione Contributo esterno.
Contributo esterno
- Aggiunta del supporto per il passaggio di
ArrayBuffer
tramiteWebMessagePortCompat#postMessage
,JsReplyProxy#postMessage
eWebViewCompat#postWebMessage
, la ricezione diArrayBuffer
da JavaScript tramiteWebMessagePortCompat
eWebMessageListener
e la ricezione diArrayBuffer
trasferibile da JavaScript tramiteWebMessagePortCompat
. Tieni presente che questa API sarà disponibile solo a partire dalla versione 116 diWebView
. (Ie7567, b/251152171)
Versione 1.7
Versione 1.7.0
24 maggio 2023
androidx.webkit:webkit:1.7.0
viene rilasciato. La versione 1.7.0 contiene questi commit.
Modifiche importanti dalla versione 1.6.0
- Abbiamo aggiunto il supporto per il trascinamento delle immagini in
WebView
. Puoi consentire agli utenti di trascinare le immagini fuori daWebView
aggiungendo il nuovoDropDataContentProvider
al file manifest della tua app, come descritto nella documentazione della classe. - Abbiamo aggiunto l'API
ProcessGlobalConfig#setDirectoryBasePaths(Context,File,File)
che può essere utilizzata per impostare le directory di base cheWebView
utilizzerà per la procedura corrente. Come per tutti i metodi diProcessGlobalConfig
, questo metodo deve essere chiamato prima dell'inizializzazione della prima istanza diWebView
. Questo metodo viene aggiunto per fornire al framework Android la possibilità di modificare le impostazioni diWebView
. Per le applicazioni generiche, l'utilizzo di questo metodo non è consigliato.
Versione 1.7.0-rc01
10 maggio 2023
androidx.webkit:webkit:1.7.0-rc01
viene rilasciato senza modifiche dal giorno 1.7.0-beta01
. La versione 1.7.0-rc01 contiene questi commit.
Versione 1.7.0-beta01
5 aprile 2023
androidx.webkit:webkit:1.7.0-beta01
viene rilasciato. La versione 1.7.0-beta01 contiene questi commit.
Modifiche all'API
- Modifica minore al flag della funzionalità e al nome del metodo e modifica
setDirectoryBasePaths()
in modo che accetti File anziché Stringa (Ib0d0a)
Versione 1.7.0-alpha03
8 marzo 2023
androidx.webkit:webkit:1.7.0-alpha03
viene rilasciato. La versione 1.7.0-alpha03 contiene questi commit.
Modifiche all'API
- Aggiungi l'API
ProcessGlobalConfig#setDirectoryBasePath(String, String)
che può essere utilizzata per impostare le directory di base cheWebView
utilizzerà per la procedura corrente. (Ibd1a1, b/250553687)
Correzioni di bug
- Correggere la regola
ProGuard
non valida che causa errori di compilazione quando si utilizzaDexGuard
(Ia65c2, b/270034835)
Versione 1.7.0-alpha02
8 febbraio 2023
androidx.webkit:webkit:1.7.0-alpha02
viene rilasciato. La versione 1.7.0-alpha02 contiene questi commit.
Correzioni di bug
- Bug della documentazione per
DropDataContentProvider
.
Versione 1.7.0-alpha01
25 gennaio 2023
androidx.webkit:webkit:1.7.0-alpha01
viene rilasciato. La versione 1.7.0-alpha01 contiene questi commit.
Nuove funzionalità
- Stiamo aggiungendo il supporto per il trascinamento delle immagini in
WebView
. Puoi consentire agli utenti di trascinare le immagini dall'WebView
aggiungendo il nuovoDropDataContentProvider
al file manifest della tua app. (05a1a6)
Versione 1.6
Versione 1.6.1
22 marzo 2023
androidx.webkit:webkit:1.6.1
viene rilasciato. La versione 1.6.1 contiene questi commit.
Correzioni di bug
- Correggere l'errore di analisi di ProGuard (Ia65c2)
Versione 1.6.0
25 gennaio 2023
androidx.webkit:webkit:1.6.0
viene rilasciato. La versione 1.6.0 contiene questi commit.
Modifiche importanti dalla versione 1.5.0
- È stata aggiunta una nuova API ProcessGlobalConfig per consentire alle app di fornire impostazioni di configurazione che devono essere impostate prima del caricamento di WebView, ad esempio il suffisso della directory dei dati di WebView. La configurazione deve essere configurata e applicata il prima possibile durante l'avvio dell'applicazione, per assicurarsi che ciò avvenga prima che qualsiasi altro thread possa chiamare un metodo che carichi
WebView
nel processo. - È stata aggiunta una nuova API CookieManagerCompat per espandere android.webkit.CookieManager con un nuovo metodo
getCookieInfo
, che recupera tutti gli attributi per tutti i cookie impostati su un URL specifico. È diverso dall'API getCookie esistente inCookieManager
, che restituisce solo gli attributi name e value dei cookie. WebSettingsCompat
dispone di nuovi metodi per attivare/disattivare l'effetto diEnterpriseAuthenticationAppLinkPolicy
se impostato dall'amministratore inWebView
e per ottenere l'impostazione corrente. Questa funzionalità consente a WebView di aprire un'app di autenticazione anziché l'URL di autenticazione. Questa funzionalità non ha effetto sui dispositivi non gestiti da un criterio aziendale.- Aggiunta di una nuova API a
WebSettingsCompat
per consentire alle applicazioni di inviare esplicitamente il nome del pacchetto dell'app nell'intestazioneX-Requested-With
alle origini incluse nella lista consentita. L'intestazione è stata tradizionalmente inviata a ogni richiesta daWebView
.
Versione 1.6.0-rc01
11 gennaio 2023
androidx.webkit:webkit:1.6.0-rc01
viene rilasciato. La versione 1.6.0-rc01 contiene questi commit.
Correzioni di bug
- È stato corretto il problema
NullPointerException
inWebViewFeature.isStartupFeatureSupported(Context, String)
quando si esegue su SDK < L. (Ic7292)
Versione 1.6.0-beta01
7 dicembre 2022
androidx.webkit:webkit:1.6.0-beta01
viene rilasciato. La versione 1.6.0-beta01 contiene questi commit.
Modifiche all'API
ProcessGlobalConfig
è stato modificato in modo da utilizzare un normale costruttore e un metodo di applicazione statico. Il metodo apply deve essere chiamato una sola volta per processo, il prima possibile, e verrà generato un erroreIllegalStateException
se viene chiamato più volte. Gli oggettiProcessGlobalConfig
non hanno più limitazioni sul numero di volte in cui possono essere chiamati i set. (I456c3)
Versione 1.6.0-alpha03
9 novembre 2022
androidx.webkit:webkit:1.6.0-alpha03
viene rilasciato. La versione 1.6.0-alpha03 contiene questi commit.
Nuove funzionalità
- Aggiungi la classe
ProcessGlobalConfig
che consente agli utenti di impostare la configurazione globale del processo prima del caricamentoWebView
.WebView
ha alcuni parametri di configurazione a livello di processo che non possono essere modificati dopo il caricamento diWebView
(ad es. la directory dei dati diWebView
). Questa classe consente alle app di impostare questi parametri. La configurazione deve essere configurata e applicata il prima possibile durante l'avvio dell'applicazione, per assicurarsi che ciò avvenga prima che qualsiasi altro thread possa chiamare un metodo che carichiWebView
nel processo. (I7c0e0, b/250553687) - Aggiunta di una nuova API per consentire alle applicazioni di inviare esplicitamente il nome del pacchetto dell'app nell'intestazione X-Requested-With alle origini inserite nella lista consentita. L'intestazione è stata tradizionalmente inviata a ogni richiesta da
WebView
. (I0adfe, b/226552535)
Modifiche all'API
- L'API
WebSettingsCompat#setAlgorithmicDarkeningAllowed
è supportata su tutte le versioni di Android a partire dalla versione 105 diWebView
. Le versioni precedenti diWebView
supportavano l'API solo su Android Q e versioni successive. Di conseguenza, questa API non è più contrassegnata come@RequiresApi(Build.VERSION_CODES.Q)
. (I3ac1d)
Versione 1.6.0-alpha02
24 ottobre 2022
androidx.webkit:webkit:1.6.0-alpha02
viene rilasciato. La versione 1.6.0-alpha02 contiene questi commit.
Nuove funzionalità
- Aggiunge una nuova classe
CookieManagerCompat
e un'APIgetCookieInfo
che recupera tutti gli attributi di tutti i cookie impostati su un URL specifico. Questo è diverso dall'APIgetCookie
esistente inCookieManager
, che restituisce solo gli attributi name e value dei cookie. (I07365, b/242161756)
Versione 1.6.0-alpha01
24 agosto 2022
androidx.webkit:webkit:1.6.0-alpha01
viene rilasciato. La versione 1.6.0-alpha01 contiene questi commit.
Nuove funzionalità
- Sono state aggiunte API in
WebSettingsCompat
per attivare/disattivare l'effetto diEnterpriseAuthenticationAppLinkPolicy
se impostato dall'amministratore inWebView
. Questa funzionalità consente aWebView
di aprire un'app di autenticazione anziché l'URL di autenticazione. Questa funzionalità non ha effetto sui dispositivi non gestiti da un criterio aziendale.
Versione 1.5.0
Versione 1.5.0
24 agosto 2022
androidx.webkit:webkit:1.5.0
viene rilasciato. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0
- Una nuova API
setAlgorithmicDarkeningAllowed
suWebSettingsCompat
sostituisce le vecchie APIsetForceDark
esetForceDarkStrategy
. Le app che hanno come target SDK 33 e versioni successive (T) devono utilizzare la nuova API, poiché la vecchia API non avrà più alcun effetto su queste app. - Ora è possibile impostare una lista consentita di URL che utilizzano il proxy configurato tramite
ProxyCofig.Builder
impostandosetReverseBypassEnabled
sutrue
. In questo caso, tutti gli altri URL aggireranno il proxy configurato.
Versione 1.5.0-rc01
10 agosto 2022
androidx.webkit:webkit:1.5.0-rc01
viene rilasciato senza modifiche dal giorno 1.5.0-beta01
. La versione 1.5.0-rc01 contiene questi commit.
Versione 1.5.0-beta01
29 giugno 2022
androidx.webkit:webkit:1.5.0-beta01
viene rilasciato. La versione 1.5.0-beta01 contiene questi commit.
Modifiche all'API
- Le API relative all'oscuramento algoritmico sono ora annotate per richiedere il livello API Q. L'API non avrà alcun effetto sui livelli API precedenti a Q, poiché il tema scuro non è un'opzione su questi dispositivi. (I0905e)
Versione 1.5.0-alpha01
18 maggio 2022
androidx.webkit:webkit:1.5.0-alpha01
viene rilasciato. La versione 1.5.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiungi un nuovo metodo
getVariationsHeader()
inWebViewCompat
per ottenere il valore dell'intestazione X-Client-Data inviato daWebView
. Il valore restituito sarà un protobuf ClientVariations con codifica base64. - Aggiungi le API su
WebSettingsCompat
per consentire/impedire l'oscuramento algoritmico per le app con targetSdk >= 33. (I29597)
Modifiche all'API
- Aggiungi un nuovo metodo in
ProxyCofig.Builder
per impostare il bypass inverso. Se imposti il valore di bypass inverso su true, solo gli URL nell'elenco di bypass utilizzeranno le impostazioni del proxy. (I9eaa2, b/168728599)
Correzioni di bug
- È stato corretto un errore ortografico nella documentazione del tema scuro. (I36ebf, b/194343633)
- È stato corretto un bug per cui i metodi
WebViewAssetLoader.Builder
erano involontariamente dipendenti dall'ordine. (If420d, b/182196765)
Versione 1.4.0
Versione 1.4.0
16 dicembre 2020
androidx.webkit:webkit:1.4.0
viene rilasciato. La versione 1.4.0 contiene questi commit.
Modifiche principali dalla versione 1.3.0
- È stata aggiunta una nuova API
setSafeBrowsingAllowlist()
per sostituiresetSafeBrowsingWhitelist()
. In questo modo, le app possono aggiornare il codice per evitare una terminologia non inclusiva, continuando a supportare la stessa gamma di SDK Android e versioni di WebView dell'API ritirata. - È stato corretto un bug in setProxyOverride che causava l'applicazione non corretta delle regole di riserva.
Versione 1.4.0-rc02
2 dicembre 2020
androidx.webkit:webkit:1.4.0-rc02
viene rilasciato. La versione 1.4.0-rc02 contiene questi commit.
Correzioni di bug
- Corregge il problema per cui le regole di riserva non vengono applicate correttamente quando si utilizza setProxyOverride.
Versione 1.4.0-rc01
11 novembre 2020
androidx.webkit:webkit:1.4.0-rc01
viene rilasciato senza modifiche dal giorno 1.4.0-beta01
. La versione 1.4.0-rc01 contiene questi commit.
Versione 1.4.0-beta01
14 ottobre 2020
androidx.webkit:webkit:1.4.0-beta01
viene rilasciato senza modifiche dal giorno 1.4.0-alpha01
. La versione 1.4.0-beta01 contiene questi commit.
Versione 1.4.0-alpha01
16 settembre 2020
androidx.webkit:webkit:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche all'API
- È stata aggiunta una nuova API
WebViewCompat#setSafeBrowsingAllowlist()
per sostituiresetSafeBrowsingWhitelist()
. In questo modo, le app possono aggiornare il proprio codice per evitare una terminologia non inclusiva, continuando a supportare lo stesso ambito di SDK Android e versioni di WebView dell'API deprecata. (I8d65d)
Versione 1.3.0
Versione 1.3.0
19 agosto 2020
androidx.webkit:webkit:1.3.0
viene rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche principali dalla versione 1.2.0
- L'API ForceDarkStrategy offre un maggiore controllo sull'oscuramento di WebView (oscuramento dei contenuti web/CSS rispetto all'oscuramento automatico).
- WebMessageListener e le relative API forniscono un meccanismo semplice e sicuro per stabilire la comunicazione tra i contenuti web e l'app di incorporamento di WebView.
- API
isMultiProcessEnabled
per verificare se WebView è in esecuzione in multiprocesso. Questo è possibile a partire da Android O e significa che i contenuti web vengono visualizzati in un processo di rendering in sandbox separato dal processo dell'applicazione. Questo motore di rendering in sandbox può essere condiviso con altri WebView nella stessa applicazione, ma non con altri processi dell'applicazione.
Versione 1.3.0-rc02
5 agosto 2020
androidx.webkit:webkit:1.3.0-rc02
viene rilasciato. La versione 1.3.0-rc02 contiene questi commit.
Correzioni di bug
- In questo modo viene risolto un problema di compatibilità per cui a volte
WebMessageListener
si arrestava in modo anomalo durante lo sviluppo locale se l'app veniva avviata con l'esecuzione istantanea di Android Studio.
Versione 1.3.0-rc01
24 giugno 2020
androidx.webkit:webkit:1.3.0-rc01
viene rilasciato senza modifiche dal giorno 1.3.0-beta01
. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta01
10 giugno 2020
androidx.webkit:webkit:1.3.0-beta01
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- API
ForceDarkStrategy
per controllare l'oscuramento di WebView (oscuramento dei contenuti web/CSS rispetto all'oscuramento automatico). - Le API
WebMessageListener
forniscono un meccanismo semplice e sicuro per stabilire la comunicazione tra i contenuti web e l'app di incorporamento di WebView. - API
MultiProcessEnabled
per verificare se WebView è in esecuzione in modalità multiprocesso.
Versione 1.3.0-alpha03
27 maggio 2020
androidx.webkit:webkit:1.3.0-alpha03
viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.
Modifiche all'API
- Il metodo
addWebMessageListener
ora riceve unSet<String>
di regole di origine consentite (in precedenza unList<String>
).
Versione 1.3.0-alpha02
29 aprile 2020
androidx.webkit:webkit:1.3.0-alpha02
viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Nuove funzionalità
- L'API MultiProcessEnabled per verificare se WebView è in esecuzione in modalità multi processo.
Modifiche all'API
- A tutte le costanti della strategia dark ora viene anteposto il prefisso
DARK_STRATEGY
.
Versione 1.3.0-alpha01
15 aprile 2020
androidx.webkit:webkit:1.3.0-alpha01
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- API
ForceDarkStrategy
per controllare l'oscuramento diWebView
(oscuramento dei contenuti web/CSS rispetto all'oscuramento automatico). - Le API
WebMessageListener
forniscono un meccanismo semplice e sicuro per stabilire la comunicazione tra i contenuti web e l'app di incorporamento di WebView.
Versione 1.2.0
Versione 1.2.0
4 marzo 2020
androidx.webkit:webkit:1.2.0
viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche principali dalla versione 1.1.0
- È stata aggiunta l'API ForceDark per controllare se le visualizzazioni WebView devono essere visualizzate in modalità Buio.
Versione 1.2.0-rc01
19 febbraio 2020
androidx.webkit:webkit:1.2.0-rc01
viene rilasciato senza modifiche dal giorno 1.2.0-beta01
. La versione 1.2.0-rc01 contiene questi commit.
Versione 1.2.0-beta01
5 febbraio 2020
androidx.webkit:webkit:1.2.0-beta01
viene rilasciato senza modifiche dal giorno 1.2.0-alpha01
. La versione 1.2.0-beta01 contiene questi commit.
Versione 1.2.0-alpha01
18 dicembre 2019
androidx.webkit:webkit:1.2.0-alpha01
viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- API ForceDark per controllare se le WebView devono essere visualizzate in modalità Buio.
Versione 1.1.0
Versione 1.1.0
7 novembre 2019
androidx.webkit:webkit:1.1.0
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- API getter per integrare setWebViewClient() e setWebChromeClient().
- API ProxyController per impostare un proxy per le richieste di rete per le WebView di un'app.
- L'API WebViewAssetLoader semplifica il caricamento di asset, risorse e file APK dalla directory dei dati dell'app tramite l'intercettazione delle richieste. In questo modo è possibile accedere alle risorse web e locali senza disattivare CORS.
- API TracingController per raccogliere informazioni sul monitoraggio di WebView a scopo di debug.
- API RenderProcess per gestire i servizi di rendering WebView e rilevare quando i contenuti con comportamento indesiderato causano l'interruzione del funzionamento dei componenti di rendering WebView.
- Sono state aggiornate le API esistenti per includere le annotazioni di nullità (
@NonNull
,@Nullable
) e thread (@UiThread
,@WorkerThread
).
Versione 1.1.0-rc01
9 ottobre 2019
androidx.webkit:webkit:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui
setWebViewRenderProcessClient()
poteva arrestarsi in modo anomalo se veniva passato un client null.
Versione 1.1.0-beta01
5 settembre 2019
androidx.webkit:webkit:1.1.0-beta01
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- Nuovo
InternalStoragePathHandler
inWebViewAssetLoader
per caricare i file dalla directory dei dati dell'app.
Modifiche all'API
ProxyConfig#getProxyRules()
ora restituisce un elenco non modificabile di istanzeProxyRule
, una nuova classe per contenere un filtro schema e il relativo URL proxy.
Correzioni di bug
WebViewAssetLoader
utilizza per impostazione predefinita un tipo MIME "text/plain" (anziché nullo) quando non riesce a indovinare il tipo MIME dal percorso del file.WebViewAssetLoader
non genera più unNullPointerException
durante il caricamento di file con caratteri speciali nei nomi dei percorsi.
Versione 1.1.0-alpha02
7 agosto 2019
androidx.webkit:webkit:1.1.0-alpha02
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
WebViewAssetLoader
espone l'interfacciaPathHandler
per consentire alle app di creare funzionalità di gestione dei percorsi personalizzati.
Modifiche all'API
WebViewAssetLoader
ora è una classe finale, poiché non è destinata a essere sottoclassificata.- Le implementazioni di
WebViewAssetLoader#PathHandler
sono ora pubbliche e definitive. - Modifiche minori ai nomi dei metodi ProxyConfig.
ProxyController
: sono stati aggiunti i nuovi metodiaddDirect()
eaddDirect(String)
per connettersi direttamente ai server; è stata rimossa la stringa DIRECT.- Sono state aggiornate le API esistenti per includere le annotazioni di nullità (
@NonNull
,@Nullable
) e thread (@UiThread
,@WorkerThread
).
Versione 1.1.0-alpha01
7 maggio 2019
androidx.webkit:webkit:1.1.0-alpha01
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- API getter per integrare
setWebViewClient()
esetWebChromeClient()
- API ProxyController per impostare un proxy per le richieste di rete per le WebView di un'app.
- API AssetLoader per semplificare il caricamento di asset e risorse APK tramite l'intercettazione delle richieste, consentendo l'accesso alle risorse web senza disattivare CORS.
- API TracingController per raccogliere informazioni sul monitoraggio di WebView a scopo di debug.
- API RenderProcess per gestire i servizi di rendering WebView e rilevare quando i contenuti con comportamento indesiderato causano l'interruzione del funzionamento dei componenti di rendering WebView.
Correzioni di bug
- Correzioni minori alla formattazione della documentazione per le API esistenti.