La prima Developer Preview di Android 11 è disponibile al download

feb 20, 2020

Download disponibile per Android 11 Developer Preview 1 sui diversi smartphone della linea Pixel di BigG.

La prima Developer Preview di Android 11 è disponibile al download
Android 11 Developer Preview 1 è disponibile al download con diverse novità in ogni area del software su dispositivi mobili della linea Pixel.

La prima Developer Preview di Android 11 è disponibile al download

A questo indirizzo trovate tutti i riferimenti per il nuovo Android 11 disponibile con la prima Developer Preview, mentre di seguito l'elenco delle principali novità per gli sviluppatori.

Panoramica di funzionalità e API

Android 11 introduce nuove fantastiche funzionalità e API per utenti e sviluppatori. Questo documento evidenzia le novità per gli sviluppatori.

Per informazioni sulle nuove API, leggi il rapporto sulle differenze API o visita il riferimento API Android: le nuove API sono evidenziate per la visibilità. Inoltre, per conoscere le aree in cui le modifiche alla piattaforma possono influire sulle tue app, assicurati di controllare le modifiche al comportamento di Android 11 per le app destinate ad Android R e per tutte le app ), nonché le modifiche alla privacy.

Controllo dell'accesso ai dati
Per fornire maggiore trasparenza su come la tua app e le sue dipendenze accedono ai dati privati ​​degli utenti, Android 11 introduce il controllo dell'accesso ai dati . Usando questa funzione, è possibile identificare e rettificare meglio l'accesso ai dati potenzialmente imprevisto.

Per saperne di più su questa funzione, leggi la sezione di controllo dell'accesso ai dati nella pagina che discute le modifiche alla privacy relative alle autorizzazioni.

Iniezione del livello di debug della grafica performante
Le applicazioni possono ora caricare layer grafici esterni ( GLES , Vulkan ) nel codice dell'applicazione nativo per esporre le stesse funzionalità di un'app debug, ma senza incorrere nel sovraccarico delle prestazioni. Questa funzione è particolarmente importante quando si profila l'applicazione con strumenti come GAPID . Per profilare la tua app, includi il seguente elemento meta-dati nel file manifest dell'app invece di rendere debuggabile l'applicazione:


                      android: value = "true" />
</ Application>

Operazioni batch per file multimediali
Per coerenza tra i dispositivi e maggiore praticità per l'utente, Android 11 aggiunge diversi metodi MediaStoreall'API. Per ulteriori informazioni su questi metodi, consulta la sezione Esegui operazioni batch nella pagina sulla privacy di Android 11 relativa all'archiviazione.

Rich media in risposte rapide
A partire da Android 11, gli utenti possono inserire immagini e altri contenuti multimediali in risposte rapide . Per supportare questa funzione, le app devono aggiungere informazioni alle RemoteInputnotifiche specificando quali tipi MIME possono gestire. Fallo chiamando RemoteInput.Builder.setAllowDataType(). L'app deve inoltre controllare tutte le RemoteInputtrasmissioni ricevute per vedere se la trasmissione contiene contenuti in uno di questi tipi; usare RemoteInput.getDataResultsFromIntent() per fare questo.

Accesso ai file multimediali utilizzando percorsi di file non elaborati
A partire da Android 11, le app che dispongono READ_EXTERNAL_STORAGE dell'autorizzazione possono leggere i file multimediali di un dispositivo utilizzando percorsi di file diretti e librerie native. Per ulteriori informazioni su questa funzionalità, consultare i file di accesso utilizzando la sezione percorsi non elaborati nella pagina sulla privacy di Android 11 relativa all'archiviazione.

Condivisione sicura di set di dati di grandi dimensioni
In alcune situazioni, come quelle che implicano l'apprendimento automatico o la riproduzione multimediale, l'app potrebbe voler utilizzare lo stesso set di dati di grandi dimensioni di un'altra app. Nelle versioni precedenti di Android, l'app e un'altra app avrebbero dovuto scaricare una copia separata dello stesso set di dati.

Per aiutare a ridurre la ridondanza dei dati, sia in rete che su disco, Android 11 consente di memorizzare nella cache questi grandi set di dati sul dispositivo utilizzando BLOB di dati condivisi . Per ulteriori informazioni sulla condivisione di set di dati, consultare la guida approfondita sulla condivisione di set di dati di grandi dimensioni .

Richiesta e verifica per supporto a bassa latenza
Alcuni display possono eseguire la post-elaborazione grafica, come alcuni schermi esterni e TV. Questa post-elaborazione migliora la grafica ma può aumentare la latenza. I display più recenti che supportano HDMI 2.1 hanno una modalità a bassa latenza automatica ( ALLM , nota anche come modalità di gioco ), che minimizza la latenza disattivando questa post-elaborazione. Per maggiori dettagli su ALLM, consultare la specifica HDMI 2.1 .

Una finestra può richiedere l'utilizzo della modalità a bassa latenza automatica, se disponibile. ALLM è particolarmente utile per applicazioni come giochi e videoconferenze, dove la bassa latenza è più importante della migliore grafica possibile.

Per attivare o disattivare la post-elaborazione minima, chiamare Window.setPreferMinimalPostProcessing()o impostare l' preferMinimalPostProcessing attributo della finestra su true. Non tutti i display supportano la post-elaborazione minima; per scoprire se un determinato display lo supporta, chiama il nuovo metodo Display.isMinimalPostProcessingSupported().

Nota: se l'utente disattiva la post-elaborazione minima o se il display non supporta la modalità a bassa latenza, la chiamata Window.setPreferMinimalPostProcessing() non ha alcun effetto.
Decodifica a bassa latenza in MediaCodec
Android 11 migliora MediaCodec per supportare la decodifica a bassa latenza per giochi e altre app in tempo reale. Puoi verificare se un codec supporta la decodifica a bassa latenza passando FEATURE_LowLatency a MediaCodecInfo.CodecCapabilities.isFeatureSupported().

Per attivare o disattivare la decodifica a bassa latenza, eseguire una delle seguenti operazioni:

Impostare la nuova chiave KEY_LOW_LATENCY su 0 o 1 usando MediaCodec.configure().
Impostare il nuovo parametro chiave PARAMETER_KEY_LOW_LATENCY su 0 o 1 utilizzando MediaCodec.setParameters().
Nota: il supporto della decodifica a bassa latenza può richiedere risorse aggiuntive, come un maggiore consumo di energia. Utilizzare la decodifica a bassa latenza solo quando necessario.
Decodificatore di immagine NDK
L' ImageDecoderAPI NDK fornisce un'API standard per le app Android C / C ++ per decodificare direttamente le immagini. Gli sviluppatori di app non devono più utilizzare le API del framework (tramite JNI) o raggruppare librerie di decodifica di immagini di terze parti. Per ulteriori informazioni, consultare la guida per gli sviluppatori del decodificatore di immagini .

Caricatori di risorse
Android 11 introduce una nuova API che consente alle app di estendere in modo dinamico il modo in cui le risorse vengono cercate e caricate. Le nuove classi API ResourcesLoader e ResourcesProvider sono principalmente responsabili della fornitura della nuova funzionalità. Insieme, offrono la possibilità di fornire risorse e risorse aggiuntive o modificare i valori delle risorse e delle risorse esistenti.

ResourcesLoadergli oggetti sono contenitori che forniscono ResourcesProvideroggetti Resourcesall'istanza di un'app . A loro volta, gli ResourcesProvideroggetti forniscono metodi per caricare i dati delle risorse dagli APK e dalle tabelle delle risorse.

Un caso d'uso principale per questa API è il caricamento delle risorse personalizzato. È possibile associare un'istanza della nuova classe API DirectoryAssetsProvider a a ResourcesProviderper reindirizzare la risoluzione di risorse e risorse basate su file, cercando una directory specifica anziché l'APK dell'applicazione. Puoi accedere a queste risorse attraverso la open()famiglia di metodi dalla AssetManager classe API, proprio come con le risorse raggruppate nell'APK.

Aggiornamenti delle librerie ICU
Android 11 aggiorna il android.icupacchetto per utilizzare la versione 66 della libreria ICU , rispetto alla versione 63 in Android 10. La nuova versione della libreria include i dati locali aggiornati CLDR e una serie di miglioramenti al supporto dell'internazionalizzazione in Android.

Le modifiche importanti nelle nuove versioni della libreria includono quanto segue:

Molte API di formattazione ora supportano un nuovo tipo di oggetto di ritorno che si estende FormattedValue.
L' LocaleMatcherAPI è stata migliorata con una classe builder, supporto per il java.util.Localetipo e una classe di risultati con dati aggiuntivi su una partita.
Unicode 13 è ora supportato.
API delle reti neurali 1.3
Android 11 espande e migliora l' API Neural Networks (NNAPI) .

Nuove operazioni
NNAPI 1.3 introduce un nuovo tipo di operando TENSOR_QUANT8_ASYMM_SIGNED, per supportare il nuovo schema di quantizzazione di TensorFlow Lite .

Inoltre, NNAPI 1.3 introduce l' QUANTIZED_LSTMoperatore.

Nuovi controlli ML
NNAPI 1.3 introduce nuovi controlli per aiutare il machine learning a funzionare senza intoppi:

API QoS: la nuova API Quality of Service include il supporto per la definizione delle priorità e le scadenze delle attività in NNAPI con le seguenti nuove funzioni:

ANeuralNetworksDevice_supportsCompilationTimeout()
ANeuralNetworksDevice_supportsExecutionTimeout()
ANeuralNetworksDevice_wait()
ANeuralNetworksCompilation_setPriority()
ANeuralNetworksCompilation_setTimeout()
ANeuralNetworksExecution_setTimeout()
Input / output del dominio di memoria: NNAPI 1.3 include il supporto per i domini di memoria come input e output per l'esecuzione. Ciò rimuove le copie non necessarie degli stessi dati tra diversi componenti di sistema, migliorando le prestazioni di runtime delle reti neurali Android. Questa funzione aggiunge una serie di nuove API NDK da utilizzare con ANeuralNetworksMemoryDesce ANeuralNetworkMemoryoggetti, incluse le seguenti funzioni:

ANeuralNetworksMemoryDesc_create()
ANeuralNetworksMemoryDesc_free()
ANeuralNetworksMemoryDesc_setUsageForInput()
ANeuralNetworksMemoryDesc_setUsageForOutput()
ANeuralNetworksMemoryDesc_setDimensions()
ANeuralNetworksMemoryDesc_finish()
ANeuralNetworksMemory_create()
ANeuralNetworksMemory_copy()
Per saperne di più, vedi l' esempio di dominio della memoria della rete neurale .

Autenticazione biometrica
Per aiutarti a controllare il livello di sicurezza dei dati della tua app, Android 11 introduce l' BiometricManager.Authenticators interfaccia. Questa interfaccia definisce i possibili punti di forza degli elementi hardware biometrici. Il produttore del dispositivo definisce un punto di forza specifico per ciascun elemento, come BIOMETRIC_STRONG o BIOMETRIC_WEAK. Questi livelli di resistenza sono definiti nella pagina Definizione compatibilità .

La tua app può utilizzare l' BiometricManager.Authenticatorsinterfaccia come segue:

Il canAuthenticate() metodo ha un argomento: un numero intero o una combinazione bit a bit di livelli di forza da BiometricManager.Authenticators. La versione sovraccarica canAuthenticate()che non accetta argomenti è obsoleta a partire da Android 11.
Il setAllowedAuthenticators() metodo richiede l'autenticazione biometrica della tua app per fare affidamento su un elemento biometrico con uno dei livelli di resistenza specificati.
I metodi canAuthenticate()e setAllowedAuthenticators()possono entrambi accettare l' Authenticators.DEVICE_CREDENTIAL argomento, il che consente l'autenticazione utilizzando un PIN, una sequenza o una password. Di conseguenza, il metodo correlato setDeviceCredentialAllowed()è obsoleto a partire da Android 11.
L' ACTION_BIOMETRIC_ENROLL azione intento richiama le impostazioni di sistema e richiede all'utente di registrare un elemento hardware biometrico. Puoi fornire il livello di forza come extra.
Inoltre, a partire da Android 11, l' AuthenticationResultAPI ti consente di verificare se l'utente è autenticato utilizzando le credenziali biometriche o del dispositivo. Per verificare, chiama getAuthenticationType().

Aggiornamenti di CallScreeningService
A partire da Android 11, un CallScreeningService può richiedere informazioni sullo stato di verifica STIR / SHAKEN (verstat) per le chiamate in arrivo. Queste informazioni sono fornite come parte dei dettagli della chiamata per le chiamate in arrivo.

Se a è in CallScreeningServicepossesso dell'autorizzazione READ_CONTACTS , l'app viene avvisata quando ci sono chiamate in entrata o in uscita verso un numero nei contatti dell'utente.

Supporto telecamera esteso nell'emulatore Android
Android 11 introduce funzionalità avanzate della fotocamera dell'emulatore Android. Le funzionalità aggiunte includono quanto segue:

Acquisizione RAW
Rielaborazione YUV
Dispositivi di livello 3
Supporto per videocamera logica
Disattiva l'audio e le vibrazioni della notifica durante l'acquisizione attiva
A partire da Android 11, quando si utilizza attivamente la fotocamera, la tua app può disattivare solo le vibrazioni, sia i suoni che le vibrazioni, oppure nessuna delle due setCameraAudioRestriction().

Miglioramenti del passpoint Wi-Fi
Passpoint consente alle app di eseguire automaticamente e silenziosamente l'autenticazione e di connettersi a hotspot Wi-Fi sicuri. Le app destinate al livello API "R" o superiore possono utilizzare le seguenti funzionalità aggiuntive di Passpoint.

Applicazione e notifica della data di scadenza
L'applicazione delle date di scadenza sui profili consente al framework di evitare l'auto-connessione ai punti di accesso con credenziali scadute, che sono destinate a fallire. Ciò impedisce l'utilizzo del tempo di trasmissione e consente di risparmiare batteria e larghezza di banda del backend. Visualizza una notifica all'utente quando il suo profilo è nel raggio d'azione e è scaduto.
Corrispondenza FQDN
Consentire la configurazione di un dominio AAA denominato separatamente da un nome di dominio completo (FQDN) di Access Network Query Protocol (ANQP), utilizzando un nodo Extension / Android in PerProviderSubscription (PPS) Management Object (MO) .
Autorità di certificazione private autofirmate
Per i profili Passpoint R1, Android accetta CA autofirmate private per l'autenticazione della connessione.
L'API dei suggerimenti Wi-Fi è stata ampliata
Android 11 espande l' API dei suggerimenti Wi-Fi per aumentare le capacità di gestione della rete dell'app, tra cui:
Le app di gestione della connettività possono gestire le proprie reti consentendo richieste di disconnessione.
Le reti passpoint sono integrate nell'API di suggerimento e possono essere suggerite all'utente.
Le API di Analytics ti consentono di ottenere informazioni sulla qualità delle tue reti.
Chat Bolle
Le bolle sono ora disponibili per gli sviluppatori per aiutare le conversazioni di superficie nel sistema. Bubbles era una funzionalità sperimentale in Android 10 che era abilitata tramite un'opzione sviluppatore: in Android 11 questo non è più necessario.

Nota: più avanti nel ciclo di anteprima, le app dovranno richiedere l'autorizzazione prima di inviare bolle. Tuttavia, non è necessaria alcuna autorizzazione in Developer Preview 1.
Ci sono una serie di miglioramenti nelle prestazioni delle bolle e gli utenti ora hanno una maggiore flessibilità nell'abilitare e disabilitare le bolle di ogni app. Per gli sviluppatori che hanno implementato il supporto sperimentale, ci sono alcune modifiche alle API in Android 11:

Ora puoi creare BubbleMetadata da un ID scorciatoia chiamando BubbleMetadata.Builder.createShortcutBubble().
BubbleMetadata.getIntent()è ora obsoleto, utilizzare BubbleMetadata.getBubbleIntent() invece.
BubbleMetadata.getIcon()è ora obsoleto, utilizzare BubbleMetadata.getBubbleIcon() invece.
BubbleMetadata.Builder.setIntent()e setIcon()ora sono deprecati, utilizzare BubbleMetadata.Builder.createIntentBubble()invece.
Articolo di HTNovo
Creative Commons License

Modulo di contatto

Archivio