Android M Marshmallow – Altre novità

Rimozione Apache HTTP
Con Android M si procederà alla rimozione del supporto  per il client Apache HTTP. Se la nelle nostre applicazioni si utilizza questo client e il target è Android 2.3 (livello di API 9) o superiore, è necessario utilizzare la classe HttpURLConnection.

Questa API è più efficiente, e riduce al minimo il consumo di energia. Per continuare a utilizzare le API HTTP Apache, è necessario innanzitutto dichiarare la seguente fase di compilazione delle dipendenze nel file build.gradle:

Android {
useLibrary ‘org.apache.http.legacy’
}

Impostazioni del volume
le Impostazione del volume tramite la classe AudioManager non sarà più supportata. Il metodo setStreamSolo() è deprecato, e si dovrebbe chiamare il metodo requestAudioFocus().

Anche il metodo setStreamMute() è deprecato; utilizzare al suo posto il metodo adjustStreamVolume() e passare i valori ADJUST_MUTE  o ADJUST_UNMUTE.

Notifiche
Questa versione elimina il metodo Notification.setLatestEventInfo (). Per costruire le notifiche utilizzare al suo posto la classe Notification.Builder. Per aggiornare una notifica ripetutamente, riutilizzare l’istanza Notification.Builder.
Chiamare il metodo build() per ottenere le istanze di notifica aggiornate.

L’accesso ad hardware Identifier
Per fornire agli utenti una maggiore protezione dei dati, a partire da questa versione, Android rimuove l’accesso programmatico all’identificatore hardware locale del dispositivo per le applicazioni che utilizzano il Wi-Fi e le API Bluetooth.
WifiInfo.getMacAddress () e la BluetoothAdapter.getAddress () metodi restituiranno un valore costante di 02:00:00:00:00:00.

Per accedere gli identificatori hardware, la vostra applicazione deve ora disporre delle seguenti autorizzazioni:

WifiManager.getScanResults():
La vostra applicazione deve avere ACCESS_FINE_LOCATION o permesso ACCESS_COARSE_LOCATION.
BluetoothDevice.ACTION_FOUND:
La vostra applicazione deve avere l’autorizzazione ACCESS_COARSE_LOCATION.
BluetoothLeScanner.startScan():
La vostra applicazione deve avere ACCESS_FINE_LOCATION o permesso ACCESS_COARSE_LOCATION.

 

Tags: