Disabled Notifications: Setting Survives Uninstall
Normally, when you uninstall and reinstall an app, everything reverts back to the state the app was in after the original installation.
This is not true with the “Show notifications” checkbox that controls
Toast work on Android 4.1+ devices.
I stumbled upon this purely by accident. I was responding to
a StackOverflow question about
setAutoCancel(true) not working,
and I wanted to just run my test app once to confirm it worked.
I first fired it up on a 4.1 emulator, and it behaved fine, though
I do not have a PDF viewer installed, and my sample works better
when there is one (the notification, when tapped, opens a downloaded
PDF file). So I ran it on my Galaxy Nexus… and it did not work.
The only obvious response I got was a cryptic warning in LogCat:
04-23 18:10:33.052: W/NotificationManager(20521): notify: id corrupted: sent 1337, got back 0
1337 is the notification ID for this
After a quick search of teh Interwebs, I stumbled upon mention of somebody else having received this warning when they had “Show notifications” toggled off. I was fairly sure that wasn’t the case here, as my sample app had been uninstalled before I ran it, but I checked Settings anyway.
And “Show notifications” was unchecked.
(checking it, of course, fixed my problem)
Apparently, the last time I had run this sample on this device, I used it to test “Show notifications”, and I happened to leave that checkbox unchecked. However, since this setting was retained even after an uninstall, my newly-installed version was still blocking notifications.
Switching to view all entries in LogCat then showed the following error, on the next line:
04-23 18:10:33.052: E/NotificationService(930): Suppressing notification from package com.commonsware.android.downloader by user request.
However, since that comes from
NotificationService, it will not
show up in a LogCat filtering on application.
I am sure that many of you give advice to users with balky app installations to uninstall and reinstall. That can cure some ills, but blocked notifications is not one of them.
Want an expert opinion on your Android app architecture decisions? Perhaps Mark Murphy can help!