Tasker is the king of automation when it comes to Android but it is incredibly hard to learn. MacroDroid is an app that simplifies things while keeping the functionality on spot.
The very first Android application that I spent money on when I got my Nexus 4 was Tasker. The possibilities of that application are endless and even though I read all the warnings about how complicated it was, I thought to myself ‘I’ll go ahead and get it now and I will learn it little by little as time goes on’. To this day I have never gotten a single task to work properly with the thing. The first thing I tried to learn was toggling between battery saver and high accuracy GPS when I launched and closed Google Maps.
I wasn’t able to do it on its own and found out that I needed another application(Secure Settings) to pull it off. I messed with it for a few hours for a couple of days and then eventually gave up on the project. I still haven’t been able to figure something like that out but that was a long time ago when I was trying this. I just keep the GPS mode in High Accuracy so now I can just toggle it on and off. Recently I tried to set something up on my LG G3 in hopes that I could get it like the LG G4 and its camera application shortcut(long-pressing the Volume Down button to launch the camera and immediately take a photo). I even purchased Dimple.io because it seemed like that was something that I could do with it.
It turns out that Tasker can’t register button presses(at least from what I can gather) but I could set something up like ‘when volume level hits 7, launch an application/take a photo/etc’. I tried setting something up like this and actually had the Tasker application take a photo itself. The quality of those photos were incredibly poor and it just made me abandon that project as well. During my research for that project though, I came across a couple of applications that seemed like I could replicate that LG G4 functionality and one of these apps is called MacroDroid. MacroDroid is like tasker, but with a nicer user interface and is much, much easier to learn.
When you first launch the application, you are shown 6 icons with options like List Macros, Add Macro, View Templates, Settings, Forum and Upgrade. MacroDroid is free but it is somewhat limited in its functionality. You can use it all you want but it will cost you $2.99 if you want to have an unlimited number of macros, an unlimited number of triggers per macro, an unlimited number of actions per macro, an unlimited number of constraints per macro or if you want to import/export some macro lists. I’ve been able to set up some basic macros so far and it has all been free but if you want to do some of the more complicated things then you’ll need to pay.
Launching the settings page will show a huge list of various options that you can set. MacroDroid doesn’t require root access but checking this box at the top will allow you to do more powerful automated tasks and I’ll get into which ones require root access later in the article. MacroDroid creates a persistent notification but you can easily disable that in the settings page here. You can read through the settings from these second two screenshots here but they are straight forward things that you can set. Besides enabling root, turning off the persistent notification, disabling analytics, and wanting to try out the experimental features, there wasn’t much that I messed with in the settings.
When you tap on the Add Macro button within the main menu of MacroDroid, you’ll get your first blank macro template. There are three sections here: Triggers, Actions and Constraints. Triggers are things that, you guessed it, trigger an action that is set to happen. Using the GPS example that I talked about earlier, a Trigger could be set as ‘launch Google Maps’, so that when I manually launched the Google Maps application, an action would happen. The action in this example would be to enable GPS. You could then set another macro that says when I ‘close Google Maps'(which is the trigger), then it should ‘disable GPS'(which is the action).
Constraints add an additional rule to the macro. For instance, I could set a constraint for this macro to only happen on Monday through Friday. This way, if I launched Google Maps while it was a Saturday or Sunday, then the GPS would not activate/deactivate. Or, I could set the Constraint as something like ‘when Bluetooth is connected’. So that GPS would only activate/deactivate when Google Maps was launched/closed when my smartphone is connected to a Bluetooth device(like my car). Just as the word suggests, Constraints let you add in a little extra restrictions when looking for triggers.
So here we have a list of all the Triggers that you can choose from when creating your very own macros. Remember, Triggers are the first thing that the phone looks out for when figuring out what action needs to be taken. So we have things like Airplane Mode Changes, Android Wear, Applications Installed/Uninstalled/Launched/Closed, Battery Level, Bluetooth Event, Calendar Event, Call Active/Ended/Incoming/Outgoing, Cell Tower Changes, Data Connectivity Changes, Day/Time, Daydream On/Off, Device Boot, Device Docked/Undocked, Dial Phone Number, Failed Login Attempt, Flip Device and on and on and on. I highly suggest going through these screenshots and looking at all of the triggers that you can set.
For example, you could have it so that an action is taken(like airplane mode activated) when the Battery Level reaches a certain amount. Or you could have it so that an action is taken(like WiFi being disabled) when you disconnect from WiFi. Maybe you want an application to launch when your device first boots up. Maybe you want the phone to take a photo when there is a failed login attempt on your device. There are so many possibilities and I will talk about a few that I have set up a little bit later. Really, go through all of these triggers to see just how powerful the application is. I was surprised at just how many thing were listed here since I was assuming it would be much weaker than Tasker. I was definitely wrong.
As you can see, we have a lot more actions to choose from than the number of triggers we have available to us. This is because we can do so many more things with our phone than it can detect. For instance, you might want to set multiple actions to happen when something is triggered. Like, you might want to Disable WiFi and Enable Bluetooth when you leave your house and sit down in your car. This way, you can save battery life by turning off WiFi when you leave the house and then you can also automatically enable Bluetooth so that it will connect to your car for your drive. You can even add more things here and do something like Disable WiFi, Enable Bluetooth, Enable GPS, Launch Google Maps all when the device disconnects from WiFi.
There are so many things that you can do so just like before, I recommend you taking a look at these screenshots and getting familiar with all of the things that you can do with MacroDroid. Seriously, it can take some time to brainstorm up some possibilities that you can set up here. Yesterday, I was doing a little work when looking over this application and set up a couple of macros. Then I would put the phone down and read some Android news before getting an idea and then diving back into MacroDroid on my phone to see if my new idea was possible. This happened time and time again as I had more time to think about the possibilities and gather up some more ideas.
When comparing the Constraints list to the Triggers and Actions list, there isn’t much here. That’s just when comparing though. As you can see here, there are 26 constraints to choose from. This is where you can really dig into some of the macros that you have set up by adding in additional rules to it. Using the example I brought up earlier with disabling WiFi, enabling GPS and launching the Google Maps application when the phone disconnects from WiFi. You could set up a constraint to only look for this trigger and only perform those actions when the phone is on and unlocked. This way, if your phone is locked and in your pocket, it won’t start messing with your things and launching applications.
The few macros I set up on my phone last night didn’t even need any constraints but again, the more you play with the application the more ideas you will get. The more ideas you get, the more ways that you can refine those ideas by adding in constraints to make the automation perform exactly how you want it to. It’s cliche to say the possibilities are endless and I know I already said it when referring to Tasker but it certainly feels that way. Sure, there is literally an end to the possibilities but its going to take a long, long time to get to the end. Even when you think you’ve finally done all that you can do with MacroDroid, another idea will pop up and you’ll go diving into the application again to see if you can set it up.
Now, if you are hitting a brick wall when trying to think of some ideas, the application comes with some templates that you can access directly from the main menu. We have 29 to choose from and while you can just pick and choose various things from here, I think it’s best to get some inspiration from the templates listed here. Maybe you don’t want to automatically answer a phone call when you have a Bluetooth device connected but you would rather decline the phone call and send an SMS message saying you will call them back later. Even better, you could add a constraint to this and have the action only happen between the times of 10PM and 6AM.
There are some great templates here but there are some even better ideas that can be figured out by looking through these and seeing how you could adapt them to your personal lifestyle. Maybe you want to do more than just hear a sound when the battery is full. Maybe you want to give yourself a notification on your Android Wear device instead. Or maybe instead of just playing music when you plug in your headphones, you would rather see an application launched so that you can pick which music you want to start playing. Customization is one my favorite parts about Android and MacroDroid really lets you customize automation to fit your own preferences.
After playing with MacroDroid for a couple of days, here are some things that I created and tested out. Just like I told you earlier, I wanted to try to replicate the LG G4 camera shortcut as much as possible. Sadly, MacroDroid doesn’t have a ‘long-press’ option when it comes to Volume button detection. I did set up one where it would launch my favorite camera application just by pressing the volume down button and it worked flawlessly. I ended up disabling it though because I press the volume down button at other times and didn’t want the camera application launching just because I was trying to make a YouTube video quieter.
So then I created one where it would launch the camera application when I shook the phone. This worked out very well and I was actually impressed with how quickly the camera application launched. The phone does a little vibrate alert when it detects that it has been shook, and then the camera application immediately launches. Another macro that I tried setting up was the Jedi Wave so that it would be like the 2014 Moto X but I couldn’t get it to work. I could do a Jedi Wave to turn off the phone, which was cool, but not to turn the display on. This may just be an issue with my phone and CM12.1 because I was also having trouble getting the ambient mode feature to work with AcDisplay too.
The last one I want to bring up is Night and Day brightness. I never have been a fan of auto brightness because I don’t want the brightness to fluctuate while I’m using the phone. It messes with my eyes and it is distracting. So instead, I created a trigger that when it is 10PM, it should lower the brightness to 20%. Then, when it is 8PM, it should increase the brightness back to 75% and it is working great so far. I noticed that it even did its thing while the phone was locked as I put the phone down at 9:30 with regular brightness and then when I picked it up at 10:30, the brightness was down to 20% like I set it. I was very happy with this setup.
I have to say, I’m very impressed with MacroDroid so far. Again, I’ve only been using it for a few days but I continue to get more ideas about new macros that I can create and try out. I’ve already done more with MacroDroid in three days than I have with Tasker in the multiple years that I have owned the application. The options within MacroDroid are very diverse and allow for some powerful automation rules that you can set up. The user interface is superb for what it does too. No need to enter in any text variables(unless you’re wanting to do something incredibly custom) and no need to do hours of Google searching to find out how to set a volume down trigger.
I still believe that Tasker is the more powerful application here so there will always be a market for users who want that much control. I just think that 9 times out of 10 a person wants a quick and simple automated task set up and this is where MacroDroid excels. You should take a look at the application and see what things that you could come up with. I’m also curious to hear what types of macros you can come up with. Please drop down into the comments section and share the macros that you are using or that you would like to use.
If this tutorial helped you in any way, please consider donating via PayPal, Patreon, Cryptocurrency, or GoFundMe. If you can't afford to donate then sharing this on social networks such as Facebook, Twitter, XDA, forums, etc. will also help a lot. I would also appreciate suggestions for Android tips and tutorials that you would like to see in the future.