Obviously Android M Developer Preview comes with more improvement to Android L. Along with new features and capabilities, the M Developer Preview includes a variety of system changes and API behavior changes.
Context.checkSelfPermission()method. To request for a permission, call the new
DozeIf a device is unplugged and left stationary with the screen off for a period of time, it goes into Doze mode where it attempts to keep the system in a sleep state. In this mode, devices periodically resume normal operations for brief periods of time so that app syncing can occur and the system can perform any pending operations.
The app is explicitly launched by the user.
- The app has a process currently in the foreground (either as an activity or foreground service, or in use by another activity or foreground service).
- The app generates a notification that users see on the lock screen or in the notification tray.
- The user explicitly asks
for the app to be exempt from optimizations, via Settings.
Adoptable Storage DevicesWith this preview, users can adopt external storage devices such as SD cards.
Apache HTTP Client RemovalThis preview removes support for the Apache HTTP client. If your app is using this client and targets Android 2.3 (API level 9) or higher, use the
AudioManager ChangesSetting the volume directly or muting specific streams via the
AudioManagerclass is no longer supported. The
setStreamSolo()method is deprecated, and you should call the
Android Keystore ChangesWith this preview, the Android Keystore provider no longer supports DSA. ECDSA is still supported.
Wi-Fi and Networking Changes
- Your apps can now change
the state of
WifiConfigurationobjects only if you created these objects. You are not permitted to modify or delete
WifiConfigurationobjects created by the user or by other apps.
- Previously, if an app
forced the device to connect to a specific Wi-Fi network by using
disableAllOthers=truesetting, the device disconnected from other networks such as cellular data. In this preview, the device no longer disconnects from such other networks. If your app’s
“20”or lower, it is pinned to the selected Wi-Fi network. If your app’s
“21”or higher, use the multinetwork APIs (such as
bindSocket(), and the new
ConnectivityManager.bindProcessToNetwork()method) to ensure that its network traffic is sent on the selected network.
Camera Service Changes
ART RuntimeThe ART runtime now properly implements access rules for the
newInstance()method. This change fixes a problem where Dalvik was checking access rules incorrectly in previous versions.