API Android 2.2

Livello API: 8

Android 2.2 è una release minore della piattaforma che include funzionalità per gli utenti, funzionalità per gli sviluppatori, modifiche alle API e correzioni di bug. Per informazioni sulle funzionalità per gli sviluppatori e sulle modifiche all'API, consulta la sezione API Framework.

Per gli sviluppatori, la piattaforma Android 2.2 è disponibile come componente scaricabile per l'SDK Android. La piattaforma scaricabile include una libreria e un'immagine di sistema Android, nonché una serie di skin per emulatori e altro ancora. Per iniziare a sviluppare o eseguire test su Android 2.2, utilizza Android SDK Manager per scaricare la piattaforma nel tuo SDK.

Aspetti principali della piattaforma

Per un elenco delle nuove funzionalità per gli utenti e delle funzionalità principali della piattaforma, consulta il documento Funzionalità principali della piattaforma Android 2.2.

Livello API

La piattaforma Android 2.2 fornisce una versione aggiornata dell'API del framework. All'API Android 2.2 viene assegnato un identificatore intero (8) memorizzato nel sistema stesso. Questo identificatore, chiamato "livello API", consente al sistema di determinare correttamente se un'applicazione è compatibile con il sistema prima di installarla.

Per utilizzare le API introdotte in Android 2.2 nella tua app, devi impostare il valore corretto, "8", negli attributi android:minSdkVersion dell'elemento <uses-sdk> nel file manifest della tua app.

Per ulteriori informazioni su come utilizzare il livello API, consulta il documento Livelli API.

Modifiche all'API Framework

Le sezioni seguenti forniscono informazioni sulle modifiche apportate all'API framework dell'applicazione fornita dalla piattaforma Android 2.2.

Installazione di app su supporti di archiviazione esterni

La piattaforma Android ora consente alle applicazioni di richiedere l'installazione sui supporti di archiviazione esterni del dispositivo (ad esempio la scheda SD), come alternativa all'installazione nella memoria interna del dispositivo.

Gli sviluppatori di applicazioni possono indicare la posizione di installazione preferita per le proprie applicazioni tramite un nuovo attributo di <manifest> nel file manifest, android:installLocation. L'attributo supporta tre valori: "internalOnly", "preferExternal" e "auto". Al momento dell'installazione, il sistema controlla il valore di android:installLocation e installa l'applicazione .apk in base alla posizione preferita, se possibile. Se l'applicazione ha richiesto l'installazione esterna, il sistema la installa in una partizione privata criptata nel supporto esterno. Una volta installato un file APK dell'applicazione esternamente, il sistema consente all'utente di modificare la posizione di archiviazione del file APK e di spostarlo nella memoria interna del dispositivo, se necessario (e viceversa), tramite Gestisci applicazioni nelle impostazioni utente.

Per impostazione predefinita, il sistema installa tutte le applicazioni nella memoria interna del dispositivo, ad eccezione di quelle che richiedono esplicitamente l'installazione esterna. Ciò significa che il sistema installerà sempre le applicazioni precedenti nella memoria interna, poiché non hanno accesso all'attributo android:installLocation. Tuttavia, se necessario, è possibile configurare e compilare un'applicazione precedente in modo che venga installata internamente sulle versioni precedenti della piattaforma ed esternamente sulle piattaforme Android 2.2 e successive.

Tieni presente che la richiesta di installazione sul supporto esterno del dispositivo non è adatta a tutte le applicazioni, in particolare perché il supporto esterno potrebbe essere rimovibile e lo smontaggio/il rimontaggio potrebbe interrompere l'esperienza utente e le impostazioni di sistema.

Per ulteriori informazioni sull'impostazione di una posizione di installazione preferita per la tua applicazione, inclusa una discussione sui tipi di applicazioni che devono e non devono richiedere l'installazione esterna, leggi il documento Posizione di installazione dell'app.

Backup dei dati

La piattaforma ora fornisce un servizio di backup generalizzato che le applicazioni possono utilizzare per eseguire il backup e il ripristino dei dati utente, in modo che gli utenti possano mantenere i propri dati quando cambiano dispositivo o reinstallano l'applicazione. Backup Manager gestisce il trasporto dei dati dell'applicazione da e verso l'area di archiviazione di backup nel cloud. Backup Manager può archiviare qualsiasi tipo di dati, da dati arbitrari a file, e gestisce le operazioni di backup e ripristino in modo atomico. Per ulteriori informazioni, consulta Backup dei dati.

Grafica

Contenuti multimediali

Riconoscimento vocale e motori di riconoscimento di terze parti

  • La piattaforma fornisce nuove API di riconoscimento vocale che consentono alle applicazioni di interagire in modo più completo con il riconoscitore vocale disponibile. Ad esempio, le API sono sufficienti per integrare il riconoscimento vocale in modo approfondito in un IME.
  • La piattaforma fornisce anche una classe di base RecognitionService che consente agli sviluppatori di terze parti di creare motori di riconoscimento dei plug-in.
  • Nuova interfaccia RecognitionListener per ricevere i callback.
  • Nuovi extra di RecognizerIntent che consentono a un'app richiedente di specificare dettagli come la lingua preferita, la durata minima in millisecondi e così via.

Fotocamera e videocamera

  • Modifiche all'API di anteprima della fotocamera per migliorare l'efficienza della pipeline di anteprima.
  • Nuovo orientamento del display per la videocamera (ora può funzionare in orientamento verticale).
  • Nuove API in android.hardware.Camera per la gestione del livello di zoom.
  • Nuove API android.hardware.Camera.Parameters per eseguire query e impostare le impostazioni della fotocamera del dispositivo, come lunghezza focale, esposizione, livello di zoom, angolo di visuale e altre.
  • Nuova utilità thumbnail per le miniature di video e immagini.
  • I nuovi tipi CamcorderProfile e CamcorderProfile consentono alle app di determinare le funzionalità della fotocamera hardware del dispositivo.
  • Nuovo supporto in android.media.ExifInterface per il recupero del GPS e della lunghezza focale.

Device Policy Manager

Le nuove API di gestione dei criteri dei dispositivi consentono agli sviluppatori di scrivere applicazioni di "amministratore del dispositivo" che possono controllare le funzionalità di sicurezza del dispositivo, come la robustezza minima della password, l'eliminazione dei dati e così via. Gli utenti possono selezionare gli amministratori abilitati sui propri dispositivi. Per ulteriori informazioni, consulta le classi android.app.admin o il codice dell'applicazione di esempio in DeviceAdminSample.java.

Framework UI

  • Le nuove modalità dell'interfaccia utente "modalità auto" e "modalità notturna" e UiModeManager consentono alle applicazioni di regolare la propria interfaccia utente per modalità utente specifiche.
  • Nuovo ScaleGestureDetector che consente a View di rilevare e gestire i gesti di trasformazione che coinvolgono più di un cursore (multitouch) utilizzando gli eventi MotionEvents forniti.
  • Miglioramenti al modo in cui gli eventi multitouch vengono registrati negli oggetti MotionEvent.
  • L'attributo layout fill_parent viene rinominato in match_parent. Questo riguarda sia il codice XML che Java (vedi ViewGroup.LayoutParams). Tieni presente che la piattaforma continuerà a rispettare gli utilizzi di fill_parent nelle applicazioni precedenti.
  • I nuovi attributi di layout tabStripEnabled, tabStripRight e tabStripLeft consentono agli sviluppatori di personalizzare la barra in basso di TabWidgets.
  • Migliore supporto per le finestre di dialogo gestite in Attività.

Account e sincronizzazione

  • Il nuovo metodo AddPeriodicSync() consente di pianificare una sincronizzazione periodica con un account, un'autorità ed extra specifici alla frequenza specificata.

Nuovi elementi e attributi manifest

  • Per specificare la posizione di installazione preferita dell'applicazione (vedi Installazione di app su supporti di archiviazione esterni, sopra):
    • Nuovo attributo android:installLocation dell'elemento <manifest>. Specifica la posizione di installazione predefinita definita da un'applicazione.
  • Per gestire il backup dei dati utente (per ulteriori informazioni, vedi Gestione dei backup sopra):
    • Nuovo attributo android:backupAgent dell'elemento <application>. Specifica il nome del componente della sottoclasse BackupAgent fornito dall'applicazione per gestire le operazioni di backup/ripristino, se presenti.
    • Nuovo attributo android:restoreAnyVersion dell'elemento <application>. Valore booleano che indica se l'applicazione è pronta a tentare il ripristino di qualsiasi set di dati di cui è stato eseguito il backup, anche se il backup sembra provenire da una versione dell'applicazione più recente di quella attualmente installata sul dispositivo.
  • Per gestire il compilatore JIT della piattaforma:
    • Nuovo attributo android:vmSafeMode dell'elemento <application>. Valore booleano che specifica se disattivare le ottimizzazioni del compilatore JIT durante l'esecuzione dell'applicazione.

Autorizzazioni

  • android.permission.BIND_DEVICE_ADMIN: qualsiasi ricevitore di annunci per l'amministrazione del dispositivo deve richiedere questa autorizzazione per garantire che solo il sistema possa interagire con il dispositivo.
  • android.permission.KILL_BACKGROUND_PROCESSES: consente a un'applicazione di chiamare killBackgroundProcesses(String).
  • android.permission.BIND_WALLPAPER: qualsiasi WallpaperService deve richiedere questa autorizzazione per garantire che solo il sistema possa interagire con essa.
  • android.permission.SET_TIME: consente a un'applicazione di impostare l'ora di sistema.

Report sulle differenze dell'API

Per una visualizzazione dettagliata di tutte le modifiche all'API in Android 2.2 (livello API 8), consulta il report Differenze nell'API.