Mobile Foundation compatibility for Android 12 Beta

Android has always been about personalization and allowing you to select the device, service and experience that’s right for you. Android 12 focuses on developing an operating system that is secure by default and private by design, and making all your devices work better together.

Android 12 introduces various new Features and APIs, Behavior changes for developers and end users.

We have been testing Android 12 Beta 2. We verified various features of MobileFirst Platform Foundation on the Android 12 Beta 2 for MobileFirst Platform Foundation v8.0

MFP Push notifications support for Android 12 is available from SDK levels cordova-plugin-mfp-push@8.0.2021062405 & ibmmobilefirstplatformfoundationpush@8.0.2021062405

Mobile Foundation Support for Android 12 Beta

We have verified various features of MobileFirst Platform Foundation on the Android 12 Beta 2 for MobileFirst Platform Foundation v8.0.

Here are some notable feature compatibility tests that were performed with Mobile Foundation v8.0.

  • Invoking backend procedures through adapters
  • Application Authenticity
  • Application Management
  • JSONStore
  • Direct Update
  • Oauth Flow
  • Certificate pinning
  • Device SSO
  • Analytics
  • Push Notifications
  • Appcenter
  • In-App Feedback
  • Live update

Start testing your application(s) with Android 12 Beta.

Known Issues

Pending intents mutability

If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app’s security.

To declare that a given PendingIntent object is mutable or immutable, use the PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_IMMUTABLE flag, respectively. If your app attempts to create a PendingIntent object without setting either mutability flag, the system throws an IllegalArgumentException, and the following message appears in Logcat:

Device Log Error

Applications using MFP Push Notifications service with older MFP Push SDK will crash upon receiving notification because of above changes. We have addressed this issue in our latest MFP Push SDK plugins.

  • Cordova Android : cordova-plugin-mfp-push@8.0.2021062405
  • Native Android :ibmmobilefirstplatformfoundationpush@8.0.2021062405

Safer component exporting

If your app targets Android 12 and contains activities, services, or broadcast receivers that use intent filters, you must explicitly declare the android:exported attribute for these app components.

If an activity, service, or broadcast receiver uses intent filters and doesn’t have an explicitly-declared value for android:exported, your app can’t be installed on a device that runs Android 12.

Be sure to also review the list of behavior changes that affect all apps running on Android 12.

Stay tuned for further updates, as we continue to update our findings on Android 12 beta.

Disclaimer: Some of the action items that are mentioned in the list above are not under IBM’s control. Therefore, we expect developers and IT managers to ensure that their infrastructure is up to date according to Android requirements.

Last modified on July 22, 2021