I totally missed this in my Android 4.3 teardown, but luckily there are some fellow tinkerers out there, namely Kevin of TeslaCoil Software (maker of fine products such as Nova Launcher and WidgetLocker), picking up my slack. It looks like Google is planning some cool notification services for 4.3, possibly something that gets third party apps into the mix!

Contained in the leaked S4 Android 4.3 build are all sorts of notification-related changes. After being pointed in the right direction, I spotted this:

<string name="manage_notification_access">Notification access</string>

<string name="manage_notification_access_summary_zero">Apps cannot read notifications</string>

<string name="no_notification_listeners">No notification listeners are installed.</string>

<string name="notification_listener_security_warning_title">Enable %1$s?</string>

<string name="notification_listener_security_warning_summary">%1$s will be able to read all notifications posted by the system or any installed app, which may include personal information such as contact names and the text of messages sent to you. It will also be able to dismiss these notifications or touch action buttons within them.</string>

The last string is the most important one, spelling out a new notification service where apps ("Notification Listeners") can read notifications, dismiss them, and activate action buttons in a notification. That sounds like just about everything the notification panel currently does, so, short of launching it from the status bar, it sounds like a 3rd party app would be able to replicate the entire notification panel.


There's even some UI to go along with this. This "Notifications" screen is actually a notifications history. The lit up notifications are currently active (Notice the Gmail icon in the status bar) and the grayed out ones are notifications which have been dismissed, which have never been visible in Android before. Tapping on a notification just brings you to the app info screen for that app.

This is exposed in the 4.3 leak as a settings shortcut. So long press on your homescreen, pick "shortcuts," then "settings shortcuts" and you should see a "Notifications" listing. Tap it and you'll get a shortcut for this screen.

The "Notification access" screen can be opened by digging through the Settings activities. The screen currently lists "No notifications listeners are installed," since no one knows how to plug into this yet. Presumably, a "notification listener" is a 3rd party app with access to your notifications.

There are 2 new permissions that power this:

<permission android:label="@string/permlab_accessNotifications" android:name="android.permission.ACCESS_NOTIFICATIONS" android:protectionLevel="system|signature" android:description="@string/permdesc_accessNotifications" />

<permission android:label="@string/permlab_bindNotificationListenerService" android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" android:protectionLevel="signature" android:description="@string/permdesc_bindNotificationListenerService" />

They're called "Access Notifications" and "Notification Listener Service." The puzzling thing is that the protection level for these permissions is too high for 3rd party apps. "Android:protectionLevel="signature" means "Google/OEM only" (whoever signs it) and "android:protectionLevel="system|signature"" means "System apps or Google/OEM only" no one else is allowed to access these permissions. If you scroll up and read the security warnings, though, it's clear this is meant for 3rd party apps. There would be no reason for Google to warn you about themselves and allow you to revoke notifications access from Google Apps.

So we're missing some piece of this puzzle. Maybe in the future the protection level will be lower, or maybe there is some intermediate piece that will connect to these system permissions to other apps.  

Potential Applications

If you're wondering what all of this is for, Kevin has some great theories. Right now, apps that need access to your notifications usually hack in through the Accessibility API. A lot of popular apps like Light Flow and Tasker have to deal with this workaround because there is just no supported way to get notification information. This would be a big help for them. I contact Andrew Moore, the developer of Light Flow, for the article, and he reminded me that Google actually gave him a heads-up on one Android 4.3 notification change: Foreground apps will be required to have a status bar icon. The fact that Google contacted him about a future change means they really do care about apps like Light Flow, so maybe they're going to make his life easier with a Notifications API.

This could be a huge boost for wearable computing. The Pebble Smart Watch, is another abuser of the Accessibility API, which it uses to pull down notification info. Google Glass is another notification-challenged wearable, which completely ignores your phone notifications and goes the stand-alone route, with very limited app support as a result. And If Google ever gets around to their own smart watch platform, they're going to run into the same problems as Glass and Pebble. All of these wearable computing platforms need an easy way to read, dismiss, and act on notifications, and it really looks like that's what Google is building. Imagine if your smart watch took advantage of this, and could activate notification action buttons. You'd have a super simple way to archive the latest Gmail message, or pause music on your favorite music player. Controlling your phone's notification panel from another device would make an Android phone the premier companion device for a wearable computer.

The other potential application is for 3rd party notification panels. Android already lets you replace many system components; you're free to swap out the keyboard, home screen and many other bits of Android for 3rd party solutions, why not the notification panel? The notification panel is one of the most customized pieces of Android, so giving OEMs (and 3rd parties) a way to do that without compromising the stock panel would be an amazing feature.

Right now, it looks like there would be enough functionality to replicate the notification panel, but not replace it. As far as I can see, Google would need to implement an intent for the status bar pull-down gesture and separate the notification panel from the rest of the system UI for that to work. This might be a first step in that direction, though.

If Google actually gets this working and open to third parties, Android 4.3 will be a wearable computer's best friend. This is the first 4.3 feature I've seen that's gotten me really excited. Start up the hype train.

I had to call in the experts for this one. Thanks to Kevin from Teslacoil for the tip and pictures, and Andrew Moore, the creator of Light Flow, for fielding a few of my questions. Good team effort!

Ron Amadeo
Ron loves everything related to technology, design, and Google. He always wants to talk about "the big picture" and what's next for Android, and he's not afraid to get knee-deep in an APK for some details. Expect a good eye for detail, lots of research, and some lamenting about how something isn't designed well enough.
  • baza58

    You did it again, Ron.

  • Zargh

    If this keeps up the biggest threat to Google Play Editions getting timely updates isn't the OEMs but Google themselves to prevent leaks. :P

    • HebeGuess

      Namely, Samsung..

  • Clemens Schartmüller

    I am the developer of the DashClock Extension "AppLauncher", which can also "read notifications". However, to do this, other extension developers and me, have to count the appearing notifications and dismiss the counter when the user interacts with the phone, as most applications don't even implement notifications correctly. This is a very hacky way to do so and does not even recognize content of the notifications, nor intents or similar. This new Notifications API could be very helpful. But here is my request to all app developers out there: Please implement your notifications according to the guidelines and functionalities of the API (e.g. use correct values for the notification counters, don't only count them internally; use extended notifications and so on.)

    • http://www.androidpolice.com/author/cody-toombs/ Cody Toombs

      Just a tip. You may want to provide links and be very specific. In my experience, if a developer is doing something wrong, they are usually the first to assume they are doing it right.

      • Clemens Schartmüller

        Hm. Let's see:

        Here: http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating , when creating multiple notifications (or "updating old notifications"), most apps just don't use .setNumber(). This way, an app using the accessibility API to scan for notifications, amount of notifications by specific apps, will only be able to get "0" as notification (read: "messages count", "whatever count", this is app specific!) count, although there are 3 new messages (.. from ... let's say a messaging app), instead of 0 ("=1").

  • makapav

    This change alone justify the 4.3 moniker as opposed to 4.2.3.

    One question though, Ron, were you able to identify if the 'second' panel of the notification shade (shortcuts) will be accessible by third party apps? Right now that panel displays some dynamic elements such as: next alarm and GPS status. It would be awesome to allow third party apps to have shortcuts and other dynamic information displayed that does not clutter up the notifications lists.

    • Brian Marks

      Have you seen Power Toggles (https://play.google.com/store/apps/details?id=com.painless.pc&hl=en) interactive notification bar toggle widget thing? At this point, I'm surprised this isn't baked directly into Android. I use this all the time to turn on wifi, gps, screen brightness, flashlight, hotspot, and more. There's a ton more things this app can do, and I am amazed that this isn't a standard by now.

      • Qliphah

        Speaking of power toggles. I have mine set up on the notification bar with a few shortcuts and toggles. But then I have the widget setup with its own but not actually displayed on the home screen. i then have the lockscreen app Quicklaunch display it on the lockscreen. it gives me a very convenient way to access the flash, antenna toggles, and other stuff that i'd rather not even have to unlock my phone to do.

        (some quibbles though, quicklaunch isn't a secure lockscreen by any means and when apps are run it's as if they run on top of the lockscreen itself. meaning when you back out the phone will lock itself.)

  • Josh Phillips

    Imagine if Google released the stock android notification as an app on the play store... between nova launcher, the stock keyboard, stock calendar, etc... it wouldn't matter if you had an annoying skin because you could have an AOSP like experience anyway, and be able to keep using the improved skinned apps like cameras that are actually good. That would actually make my android experience prefect.

    • ph0oky

      Now, if only they could release the stock MMS app onto the market, that would be perfect.

      • PhoenixPath

        add dialer/contacts and launcher. :)

        • Gandalf_Teh_Gray

          People like stock launcher? Figured everyone was on Nova by now.

          • PhoenixPath

            Somewhere out there you know there's gotta be at least one crazy bast*rd that swears by it instead of at it...

          • Ian Santopietro

            Since 4.0 I've only ever used the stock launcher. Why do I need to use Nova?

          • Gandalf_Teh_Gray

            Preference really, but get rid of permanent search bar, not useful if you have Google Now, Customize dock bar more, change animations across the screen and many more things. I'd recommend trying it.

      • http://www.techmansworld.com/ Michael Hazell

        I use GO SMS Pro, but I wish that we could control what the messaging icon on the home screen points to. Even though I have the defaults set to GO SMS the home screen button will still take me to the default Android messaging app (this is from a 2.3 user btw).

    • djw39

      Yes, I hope the hidden purpose of this is to enable Google to release a "Google+ Home" launcher replacement like what Facebook was trying to do, or even just a "Nexus Home" which gives you stock status bar, home screen, lockscreen etc.

  • Chandradithya Raja P

    Am i the only one who noticed the update notes for the app "Light Flow" in which they said that they have changed towards a mandatory persistent notification icon because Google had requested them to do so for an "upcoming" android version.
    This was well back in May, around Google I/O time.

    • NoUsernamesFree

      No, you're not the only one who noticed. It was mentioned in a previous article, and in this exact one too.

  • Firelight

    As a Pebbler I'd love this. Not only to read notifications but to be able to dismiss them ... or to Mark Read or Archive a GMail message ... directly from watch would be awesome.

  • Jeremiah

    This is why I think it 4.3 doesn't seem like a major update for phones. They will be launching their smart watch which will require it. I think we'll see the game console too next month.

  • Rob Mahon

    Glass and... Pebble seem to be the most obvious for this. Any device will need to clear notifications on their 'local network' thing, even notifications that pop up on a logged in Chrome session, once cleared, remove from the phone too (if applicable).
    Logical stuff.

  • JonJJon

    Out of interest, not sure if I understand it completely, would these developments help with the problem with LightFlow; whereby if I get a message in Hangouts and read it on my laptop or tablet, the notification light on my Nexus 4 will still flash till I turn my screen on and off (as I set it to clear with screen on for that notif type due to it not clearing itself when the message has been read). To reword that mess; would this new API/developments help the Lightlow developer allow his app to cleat the notification light when the Hangouts message is read on any device?

    • bmg1001

      Since Google said reading it on one device would clear the notification on all other devices, it'd be just like if you cleared it on all the other devices individually, so theoretically, yes, because it'll be marked as dismissed. I could be wrong though...

      • JonJJon

        Here's hoping anyway, the flashing notification (I have set to Lime atm) is a little annoying that it isn't automatically stopped flashing when the notification is dismissed by Hangouts from another device. I'm sure the functionality will come sooner or later, just wondering (and hoping) that it will come with 4.3 :)

    • http://danielbrierton.ie Daniel Brierton

      I can see this helping for sure. I'm guessing one thing an app would be able to listen to is when a notification disappears without interaction. So, as long as notifications syncing works on Hangouts, LightFlow could potentially listen to that notification being auto-dismissed, and stop flashing the LED as a result.

      This might get me back to using LightFlow now. That and the fact that I had to go into the app to clear the LED eventually annoyed me too much to keep it.

      • Kie

        There are options for different ways to get the LED to clear; the default is to enter the app. If memory serves you can have the LED clear when you turn your screen on, pull down the notification bar, enter the app, or hit the clear all button in the notification bar (might be there is one more).

        • http://danielbrierton.ie Daniel Brierton

          Yeah, I know about the options, but none of them really fit what I wanted from LightFlow (notify and remind me of notifications I've yet to act on). These new APIs will hopefully allow LightFlow to fit that use case.

          • JonJJon

            This is the only thing realyl annoying me about LightFlow since I have been using Hangouts more and more, I do hope this can help get this niggle sorted in the near future after the 4.3 update comes out.

          • Andrew

            I'm hoping for this. At the moment supporting apps that remotely clear notifications is really tricky or pretty much impossible (without alternative root methods anyway). Some apps can be decompiled and enough information got from them to extract what's needed. Apps such as hangouts I can see what I'd need to do, but the protection level of the notifications is set to only let the hangout app access it. I really hope google come good with this one.

    • Qliphah

      Hopefully it'll allow them to not even rely on the accessibility service. I know on my phone, 2 or 3 times a week, I'll have to reset lightflow by turning the accessibility back on....

  • Jeff Badger

    I can see this new service as being another way of tying Android and Chrome together too. Chrome's beta has a notification center that hasn't been brought to the stable channel just yet. Imagine the notification center accessing Android's notifications and causing them to pop-up when just using Chrome on the desktop. This way, we wouldn't need to check our phones at work with everything syncing through Google's Cloud Messaging Program.

    • http://petercast.net Peterson Silva

      Wow if the post wasn't enough THAT blew my mind.

    • Bazar6

      Now that would be freakin awesome!

    • Seven Minaya

      You sir, got it right! Google listen to this guy!!

    • http://www.techmansworld.com/ Michael Hazell

      That sounds like an awesome idea. I also hope that other tools such as AirDroid can also access notifications, if it can't already.

    • Charles McCarthy

      I saw this last night an app and extension called krome I am pretty sure

  • gk1984

    I've been noticing, and read an article that also acknowledged this, that Android appears to be moving toward an "update pieces of Android" model rather than full OS updates to fight fragmentation. It seems they're pulling more pieces of the core OS as apps that can be updated through the store or pushed directly.

    What is this was another move in that direction, so that TouchWiz, Sense, or other notification panels didn't necessarily need to be remade for each OS update, speeding up the process of bringing newer Android versions to more people.

    • Tarun Pemmaraju

      Or simply that people would always be on the latest version of Android, just not the latest versions of Google's various add-ons and therefore it would be harder to claim that Android is fragmented.

      • gk1984

        Exactly what I was trying to get at - perhaps you said it better.

    • http://www.techmansworld.com/ Michael Hazell

      Maybe this could be a potential way to save users who are still on 2.3.

  • Matthew Fry

    Ron, "Imagine your if smart..." should be "Imagine if your smart..."

  • FireZenk

    Wow! really useful :P

  • Marc

    Maybe a unified Notification System with Chrome included is coming. I would love it!

    • Ian Santopietro

      Then, hopefully, they can tie them into Unity (or at least freedesktop.org) for the Ubuntu build.

  • QwietStorm

    I actually tweeted you guys a screenshot a few weeks ago of the wording from lightflow in the market about an upcoming android notifications update. Would've followed up but I forgot I sent it.

  • nickFe

    This is great! The combination of support for low-power Bluetooth, and a more open, app-friendly access to notifications is a clear indication that 4.3 will be directed at interaction with accessories. Not just Glasses, but watches, and else.

  • Simon Belmont

    Isn't this pretty much what was talked about at Google I/O in subtle way? They said syncing of notifications across devices, so perhaps this is a means to that end?

    Either way, this is pretty cool. Looking forward to Android 4.3 hitting soon because I'm sure there's things that Google will explain in more detail that we just can't extrapolate from digging around, but what we've seen dug up so far by Ron is amazing.

  • PLL

    Apps like mighty text could take advantage of this to finally dismiss notifications from SMS apps if you respond to them on the computer/tablet.

    You could add quick actions to an app by replacing it's notifications: ie. make a quick reply for hangouts in the notifications tray by reading the hangout notification, dismissing it, and then displaying your own with quick actions for reply, etc. enabled. You have to then be able to pass that back to the originating app, but it would fulfill the lack of quick actions from some apps.

    It seems like you could replace the notification shade in a rudimentary sense by implementing a floating notifications type app that would replicate and dismiss the notification shade.

  • Abinav

    Android 4.3 is going to come out with some cool new features...

    Check out:http://tech-storms.blogspot.com/2013/07/android-4.3-comes-with-always-on-wi-fi-and-other-new-features.html

  • Salah Munadi

    ATTENTION! Everyone listen up all these websites are not giving full list I have the full list I installed some part of 4.3 on my phone and rest from mix websites I'm trying to let everyone know what is exactly Coming here is the breakdown
    Android 4.3 features
    -new camera features
    -new photosphere features Google added option to revert a pic with photosphere
    -on the lock screen the time in notification is not shown once a clock widget is their.
    - now if u take a picture it records the location and every picture has the GPS location embedded in it
    -wifi always on in background
    -BLE low Bluetooth energy
    -new animations in camera completely revamped
    -the new notification setting
    -new wallpaper in 4.3
    -and a few more not confirmed stuff but the stuff above is confirmed ive used the camera on my nexus 4 and the other features are confirmed on other websites so people are saying this is a very minor update they are wrong this adds quite a few stuff and theirs more stuff under the hood plz copy this and post it every where u can so people know feel free to ask me were I got this info or anything else
    Add me on Google plus Salah Munadi or twitter and I'll answer

  • adam

    Android can't even let u backup your app data without root. tut tut tut. All these customizing setting are just compete useless & battery drain.Android Bloatware is breach of human rights

  • https://steamcommunity.com/id/m-p-3 m-p{3}

    Maybe it will make it easier for apps like LightFLow to listen to notifications at a system level, without having to program each app manually within it.

  • Tony

    So I guess it wasn't included in 4.3?