Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Codelab - Android Auto notifications

1,212 views

Published on

The new Android Auto APIs bring the Android experience in to your car. Android Auto automatically surfaces you useful information and organises it into simple cards that appear just when they're needed. You get notifications about messages on your phone messages, and can play media or browse your phone's content. More information about it here.

Our local Google Developer Expert Paul Blundell and London Google Developer Expert David González will lead an Android Auto practical hands on code lab, where you will learn how to add Android Auto compatibility to an Android messaging app.

What you’ll learn:

- Extend a notification so that it also shows in your car
- Handle the user replying to this notification

The event will take the form of a guided workshop where we will walk you through the code to create this Android application explaining along the way how the different Android SDK parts work and answering any questions you may have. You will have the chance to pair program (or on your own is ok to!) and to try out your code on a real Android Auto demo unit, not only in the emulator!

Difficulty level: beginner

Prerequisites:
- Laptop with Android Studio and Android SDK preinstalled (or turn up and pair)
- Have git installed to checkout the starting code
- A sense of adventure

Published in: Technology
  • Be the first to comment

Codelab - Android Auto notifications

  1. 1. Android Auto Code Lab Messaging API’s on Android Auto
  2. 2. What you’ll learn Android programming Extend a notification so that it also shows on the car Handle the user replying to your notification message
  3. 3. What you’ll need Android Studio version 1.0+ The sample code A test device with Android Lollipop (5.0+) An Android Auto compatible head unit or the Android Auto Messaging Simulator
  4. 4. Get the sample code git clone https://github.com/novoda/dojos.git or download source http://surl.novoda.com/auto-code The folder is: The module is: /androidauto-messaging /base
  5. 5. Import the sample app First, we will bootstrap with a very basic messaging app that simply creates a notification. 1. Open Android Studio 2. Select the androidauto-messaging/base directory from the code folder (File > Import Project… > androidauto-messaging/base). 1. Click the Android Studio Run button.
  6. 6. What does this app do? ● Clicking button sends a notification after 15 seconds ● IntentService - this is used to do work in the background ● Create a Notification using NotificationCompat.Builder ● Add an on-click action to the notification
  7. 7. Extending a Notification for Android AutoCreate a new file "res/xml/automotive_app_desc.xml": Right click in the "res" folder and select File -> New -> Android Resource File
  8. 8. Extending a Notification for Android AutoThen fill the dialog with the following info: File name: automotive_app_desc Resource type: XML Root element: automotiveApp
  9. 9. Extending a Notification for Android AutoReplace the content of the file you just created with the following content. This declares that the application is using the Android Auto Messaging API. <?xml version="1.0" encoding="utf-8"?> <automotiveApp> <uses name="notification"/> </automotiveApp> code-help-1.txt
  10. 10. Extending a Notification for Android AutoEdit AndroidManifest.xml and include the following meta-data inside the application tag: <meta-data android:name="com.google.android.gms.car.application" android:resource="@xml/automotive_app_desc" /> code-help-2.txt
  11. 11. Extending a Notification for Android AutoOpen MessagingService.java and add the code to create an UnreadConversation object. Paste the following code (code-help-3.txt) in the method sendNotificationForConversation(..), within the delimiter comments. This is where we type: /// Add the code to create the UnreadConversation /// End create UnreadConversation code-help-3.txt
  12. 12. Extending a Notification for Android AutoOpen MessagingService.java. Locate the line where it creates the notification and extend it with a CarExtender /// Extend the notification with CarExtender. .extend(new CarExtender().setUnreadConversation(unreadConversationBuilder.build())) /// End extend the notification with CarExtender code-help-4.txt
  13. 13. Run the new code Click the Android Studio Run button (or press shift+F10). The app looks the same, but now the notification created by it will show up on Android Auto.
  14. 14. Test on Android Auto Device Right here!
  15. 15. Test on Android Auto SimulatorInstall the Android Messaging simulator (<sdk>/extras/google/simulators/messaging-simulator.apk) on your phone/tablet. $ adb install messaging-simulator.apk Enable the simulator to read notifications posted on the system: Enable developer options. Settings > Sounds & Notifications > Notification Access and check the box labeled Messaging Simulator.
  16. 16. Take Aways ● To be seen on Android Auto, notifications need to be extended with a CarExtender o this is in the support v4 library ● Extended notifications also show on the phone regardless of whether Android Auto is connected or not, so you can support Android Auto seamlessly without needing to know when the user is connected to the car ● Android Auto only supports notifications from messaging apps. This is enforced by the Play Store review process
  17. 17. Congratulations The messaging API is intentionally simple and builds on top of the existing Android Notification API, requiring minimal effort from developers.
  18. 18. References Developer.Android getting started with Android Auto Android Auto & ubiquitous computing Udacity course Making an Android Auto demo unit Google IO code lab example Android Auto notifications DevByte video Android Auto help page

×