With my ancient Nokia, when people were calling and bugging me, I couldn’t do much about it. The phone would ring, I would glance at the caller ID and silence it. If it was someone particularly insistent, I had to repeat the process several times, or just turn off the phone. With Android, I no longer have to do this.
I’m going to show you two different ways to block unwanted calls. The first is easy, free and built-in, while the second is more powerful and makes use of the amazing Tasker app.
The Simple, Free Way
Did you know Android already contains a built-in facility for filtering calls? Let’s say you’ve got an evil troll on your address book; someone whom you never want to speak to. To block all calls from this contact, fire up the Contacts app, go to the contact, and press Menu:
Now, tap Options:
And add a check next to “Incoming calls“. This way, all calls from this contact will be sent directly to voicemail.
This method has the advantages of being free, easy to use, and requiring no extra software. However, it also has some drawbacks. What if it’s someone you don’t want to always block, but only sometimes? And what if you’re trying to block all calls from unknown callers (i.e, “hidden numbers”)? These guys don’t have entries in your address book, so you can’t use this method at all. In that case, it’s time to kick things up a notch.
The Sophisticated, Tasker-Based Way
If you don’t know Tasker, you should read my introduction to Tasker, as well as Angela’s Tasker GPS tutorial. Both of these show some of the magical stuff that can be done with this app, which is, by the way, leaps and bounds beyond anything you can do with an iPhone, including iOS 5. iPhone bashing aside, we’re now going to look at how you can set up a Tasker profile to block unwanted calls, and then set up a widget for toggling this profile on and off.
First, run Tasker and hit the + button for adding a new context:
Select Event > Phone > Phone Ringing:
Under “Caller”, put the number of the caller you’re trying to block. Since we’re trying to block all unidentified calls, we need to enter “0” here. Now hit the OK button.
Next, it’s time to select a task that would be executed when this context becomes active. As in what is your phone going to do when you get a call from a hidden number? You can select from any existing task, but you’re probably going to have to press New Task:
Next, hit the + button on the bottom-left:
When an unknown caller calls, we just want the phone to send them to voicemail, i.e, hang up the call. So go to Phone > End Call:
Your finished profile should look like this:
Okay, that was part one. You now have a profile that blocks all incoming calls from hidden numbers. Now let’s create a widget for toggling this profile on and off. Begin by noting the name of your blocking profile (here, called “Block hidden numbers” – we’ll be using this name later), and then toggle it off. Just tap the check-mark on the right. Next, long-tap your home screen, and add a Tasker task widget:
Select New Task and give it a name. Next, configure the task to look like this:
And there’s also step 6, which didn’t fit on my screen for the screenshot:
I know this might look a bit complex, so let’s break it down a little bit. The first thing we do is add a variable called %TOGGLE, and assign it a value of 1 and a “Wrap Around” value of 2. This means that %TOGGLE “wraps around” to 0 as soon as it reaches 2. In simple terms, it starts at 0, increments to 1, then goes back to 0 again. It looks like this:
Next, we toggle the “Block hidden numbers” profile. This is step 2, and it looks like this:
In step 3, we set the widget icon to a green “picked up phone” icon (i.e, “not blocking”), if %TOGGLE equals 1. It looks like this:
Step 4 sets a different icon (a red “bounced call” icon) if %TOGGLE equals 0:
Steps 5 and 6 do exactly the same things as steps 3 and 4, but set the widget label rather than the icon. I’ll just show you step 5:
Obviously, make sure you pick the correct label to go with each icon: The red icon, shown when %BLOCKING = 0 gets “Blocking” while the green one, shown when %BLOCKING =1, gets “Available”.
If you’ve done everything correctly, you should end up with something like this:
Which after a single tap, would change to this:
You can then go into your Tasker task list and see that the blocking profile is indeed toggled on.
The first caveat is that this isn’t the simplest Tasker setup ever. If it’s your first one, you may need to fiddle with it a little bit until you get it to work. If things don’t work, drop me a comment below and I’ll try to help.
The next thing you should know is that Tasker provides a lot of other ways to toggle a profile on and off. For example, you may decide you wish to toggle the “Block hidden calls” profile according to the time of day, or your location. If you do that, the widget you created can easily go out of sync with the actual state of the profile. That can still be fixed, but it would involve a more complex setup which goes beyond the scope of this post.
Tasker is awesome, and this is just one example of its sheer power. It’s true that there are dedicated call-blocking apps on the market, but they are often heavy and do a lot of other stuff, such as block numbers off a central cloud-based list of spam numbers (useful if you’re in the US, not so much if you’re not). Tasker lets you configure your own custom call blocker, to work just like you want it to.
Are there any other Tasker profiles you’d like to see featured here?