What’s New in Android 14: A Comprehensive Overview
Android 14 brings a slew of new features and updates to the platform. From improvements to foreground services and alarms to grammatical inflection and font scaling, Android 14 has something for every developer. I have listed some of the most important changes below. Let’s dive in and explore what’s new in this latest version.
Foreground Types
Foreground services have received an update in Android 14, as now applications must specify the type of a foreground service in their manifest. This is achieved by adding the android:foregroundServiceType
attribute to the <service>
element in the manifest, which can be set to one of the following values:
- camera
- connectedDevice
- dataSync
- health
- location
- mediaPlayback
- mediaProjection
- microphone
- phoneCall
- remoteMessaging
- shortService
- specialUse
- systemExempted
The health
, remoteMessaging
, shortService
, specialUse
, and systemExemptedtypes
are new in Android 14. If an application fails to specify the type of a foreground service, the system will raise an exception when startForeground()
is called.
Foreground Permissions
Several permissions are now required to be granted to the application in order to use foreground services in Android 14. These permissions are outlined in the official Android documentation.
Schedule Exact Alarms
Starting from Android 13 and higher, theSCHEDULE_EXACT_ALARM
permission will be denied by default, which means that any app trying to schedule an exact alarm using setExact()
, setExactAndAllowWhileIdle()
or setAlarmClock()
without the permission will result in the system throwing a Security exception. However, existing best-practices for the SCHEDULE_EXACT_ALARM
permission still apply, including checking the permission with canScheduleExactAlarms()
before scheduling exact alarms, and setting up the app to listen and properly react to the foreground broadcast AlarmManager.ACTION_SCHEDULE_EXACT_ALARM_PERMISSION_STATE_CHANGED
Minimum Installable Target API Level
Apps that target below API level 23 will not be installable on Android 14 and above. Devices that upgrade to Android 14 will still be able to use apps targeting below 23 that are already installed on the device, but they will not be able to install new apps that target below 23.
Per-App Language Preferences
Android 14 allows apps to update the app locale config, which allows apps to dynamically update the supported language list on the device’s system settings.
Grammatical Inflection API
Languages often handle different genders, which can make displaying certain strings relative to the viewer’s grammatical gender challenging. The Grammatical Inflection API in Android 14 makes it easier to display such strings. By adding translations that are inflected for each grammatical gender for affected languages, developers can use the GrammaticalInflectionManager API to adjust which translations are shown to each user.
Adding translations is done in the same way as defining different qualifiers in Android ; just append the gender qualifier immediately after the locale name of the corresponding string file name. For example,
- res/values-fr-feminine
- res/values-fr-masculine
- res/values-fr-neuter
Non-Linear Font Scaling
In Android 14, it is now possible to scale the font size up to 200%, which is useful for users who need larger text. Also, scaling up to 200% will be supported in higher versions
In conclusion, Android 14 introduces a variety of new features and updates, from enhancements to foreground services and alarms to grammatical inflection and font scaling. These new additions provide developers with additional tools to make their apps more accessible and user-friendly.
Love you all.
Stay tune for upcoming blogs.
Take care.