Wednesday, 22 August 2012

Android Jelly Bean - Stop Individual Apps From Showing Notifications

The ability to disable notifications on a per-app basis was introduced in Android 4.1, Jelly Bean. It is simple to do, but easy to miss as a feature.

For apps that provide configuration to adjust the frequency of notifications, or disable them altogether, you should go ahead and configure them in-app. These instructions are more for those pesky apps, that abuse your notification bar to promote other apps, or give you unwanted notifications with no way to disable them. Quite a few apps must use this method to subsidise the distribution of the app without a price tag. I have no sympathy for these app makers however; this is a clear abuse of the notification system and as a person who can't bear to have an unread email, missed call or indeed notification, I'd sooner uninstall the app than have this kind of mental torment applied to me.

Since Jelly Bean however, I don't need to uninstall the app any more. I can simply disable that app's right to use the notification bar.

With a Notification Present

The easiest time to do this, is when presented with a notification from your notification bar that you wish would stop. From the notification bar, simply press and hold on the notification, and choose "App Info".

Abuse of the notification bar

No Notification Currently Present

Alternatively, you can access the same menu, but going to "Settings", "Apps" and tapping the offending app. Of course, this method requires you to know which app is causing the notification, which might not always be easy if the app is crafty. If required, just wait until the next time the notifications appears, and follow the step detailed above.

App Info Screen

The app info screen shows various data about the app, and provides options to uninstall, force stop and clear any data the app has saved. Additionally, though, and crucial to the purpose of this post, there is a checkbox labelled "Show notifications". 

N64 Emulator is to blame

Unchecking this will result in a prompt warning you that you might miss out on pesky ads, pushed to your face when you are busy doing something else (paraphrased somewhat).

You are now free of that app's right to notify. Kick your feet up, sit back and wait for the developer to provide an update to their app which finds another loophole to exploit.

Tuesday, 21 August 2012

iOS 6 User Agent String

Today, I needed to have a look at the User Agent string from a device running iOS 6. A device I have is running iOS 6 beta 4, provides the following header.

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 

As this is a beta, there is the chance it will change, and of course, it might even vary from iPhone to iPhone. However, for anyone needing an example User Agent string, there you go.

If you are looking for gaining access to a device's User-Agent string programmatically, then you should look no further than here,