MobileFirst Platform support for Android Marshmallow
This blog post will be continuously updated with the latest updates from testing IBM MobileFirst Platform Foundation with Android Marshmallow
Android M AKA "Marshmallow" aka Android 6.0 has been confirmed by Google and the final preview build has also been released along with the Android 6.0 SDK. IBM is working on ensuring the MobileFirst Platform Foundation Android SDK is fully Android M compliant.
The following areas have been verified on final preview of Android M: Push Notifications, Server connectivity, Form-, Adapter- and Custom-based authentication flows, Offline storages - JSON store and Encrypted cache, Device Provisioning, Cordova plug-ins, Direct Update, Location-based Services, common UI Controls, Application authenticity and management and other Foundation features.
All existing MobileFirst Applications will work fine on Android M Preview.
What to expect?
New permissions model
Prior to Android M users were supposed to approve permissions the app required at install time. Starting with Android M some of the most sensitive permissions will require users to grant approval during runtime, when the permission is first required. A popup dialog will be displayed.
You can always remove a granted permission from Settings -> App -> YourApplication -> Permissions. During runtime if for some reason you chose to deny permission, you will be prompted again when the application tries the same operation or you can change the permissions in the Permissions section of the Application in Settings.
Cordova has a known issue with requesting permissions at runtime. Cordova team is working on resolving the issue. As long as the Android project is built with Target SDK Level less than 23, the application will continue to use the old permission model. The application will continue to work as expected even on an Android M device.
Look out for more information about the Cordova resolution in this blog.
Apache HTTP Client Removal
Android M is removing support for the Apache HTTP client. MobileFirst Platform Android SDK uses the Apache HTTP client APIs.
Android M provides a HTTP client stub in the place of the apache HTTP client to support existing applications. All applications built with targetSdkVersion set to 22 or lower will continue to work as it is.
IBM is working to ensure that MobileFirst Platform Android SDK HTTP connectivity is Android M compliant and works seamlessly as before. This blog post will be updated with further details.
Auto Backup for Apps
Auto Backup for Apps makes seamless app data backup and restore possible with zero lines of application code. This feature will be available on Android devices running the upcoming M release. All you need to do to enable it for your app is update the targetSdkVersion to 23.
By default, all of the data files of an app are automatically copied out to a user’s Google Drive. MobileFirst Platform Android SDK doesn't allow the backup of application data.
Images: Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.