Android 12 is here
User Interface
After many years, I guess google has pleasantly surprised me and have even raised my expectations as well with stock android and this android 12 is code named Snow Cone and material design branded as Material You. In fact, I am confused whether to call this stock android or not, because when you think of stock android you get a feeling of DATED UI, not much as personalization & this android 12 is exactly opposite. Yes, it’s looks like modern UI. HUGE! HUGE! Change in the way stock android looks. When you pull down the notification you think which UI is this but it’s stock android.
Colors & all are very nice, icons have rounded edges and look very modern. Android 12 also gives you lots of personalization options. Yes, I don’t think we’ve got this level of personalization in the previous year’s but android 12 goes next level. Some comparing this to MIUI, real me UI this feels one step forward.
For example: - Changing the wallpaper of your phone will also change the system color’s, accent color, background color automatically depending on your wallpaper. That’s really good.
It means you don’t have to change the theme on your phone just change the wallpaper and look & feel will be automatically changed.
USER EXPERIENCE TOOLS
- AVIF image support.
- Compatible media transcoding.
- Easier blurs, color filters and other effects.
- New camera effects and sensor capabilities.
- Android 12 for games.
Privacy
- Whenever an app uses the camera or microphone, you’ll be alerted with little dots in your status bar. This will make you aware of apps using camera or microphone.
- Users have better control over their location data, and they can grant your app access to approximate location even if it requests accurate location.
- A new dashboard in settings gives users better visibility over when your app accesses microphone, and location data.
What’s New For developers
- Splash Screen:- Android 12 adds the Splash Screen API, which allows a new app launch animation for all apps when running on a device with Android 12 or greater. This consist an into-app motion at launch, a splash screen showing your app icon, and a transition to your app itself.
We can set theme for the Splash Screen to change its appearance
- Use WinodwSplashScreenBackground to fill the background with a specific single color.
- @Colour
- Use WindowSplashScreenAnimatedIcon to replace an icon in the center of the starting window.
- @Drawable
- Use WindowSplashScreenAnimationDuration to indicate the duration of splash screen.
- 1000
- Call notifications allowing for ranking importance of incoming calls :- Android 12 adds the new notification style Notification call style for phone calls. Using this template lets your app indicate the importance of active calls by displaying a prominent chip that shows the time of the call in the status bar; the user can tap this chip to return to their call.
Because incoming and ongoing calls are the most critical to users, these notifications are given top ranking in the shade. This ranking also allows the system to potentially forward these prioritized calls to other devices. - Implement the following code for all types of calls.
// Create a new call with the user as caller. var incoming_call = Person.Builder() .setName("Abhishek Mishra") .setImportant(true) .build()
// Create a call style notification for an incoming Call. var builder = Notification.Builder(context, ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incoming_call)
// Create a call style notification for an ongoing call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOnGoingCall(caller, hangupIntent)) .addPerson(second_caller)
// Create a call style notification for screening a call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller)
There are many other features for developer option like:-
View.setrendereffect(rendereffect.createBlurEffect(radX,radY,SHADER_TILL_MODE)