Marek Skrobacki

Supercharge your Android GPS Navigation with music controls

Two years ago I’ve ditched my Tomtom in favour of using my phone. After going through pretty much all Android navigation apps that are available, I’ve settled for free, community based Waze. Thanks to impressive traffic analysis and predictions, it almost always gives me the fastest route. It works perfect in densely populated cities like London, but can sometimes get you in trouble.

My phone is also main source of music in the car. As you can imagine, there is one very frustrating issue with this kind of setup. Every time you want to stop the music or skip to next track, you have to minimise your navigation app, switch back to your music player, change the track and then switch back to your navigation app. Apart from being really inconvenient, it’s simply not safe to do while driving.

It annoyed me for a while, but after missing my turn while changing music for a third time, I’ve decided to do something about it. How-to below describes how I’ve solved it.

Enter world of Tasker

If you are not using Tasker already, you must have at least heard about it. It’s one of best Android automation tools out there. I use it for plenty of different things - starting from time based volume profiles, through reading my shopping list while I’m driving near the store ending on stuff like adding functionality to misc. apps.

My idea was to add two simple buttons that will just start/stop the music or skip to next track. With combination of Tasker scenes, profiles and tasks I was able to achieve exactly that. As a nice addition, those buttons are visible only when the navigation app is running.

waze_with_tasker_screenshot

In order to set this up, you will need following tasker elements:

  • Profile which checks if desired navigation app is running. You can download
    mine here. Currently it will trigger only for Waze or Google Maps,
    but you can easily add more.

  • Two tasks that simply display and hide scene whenever profile is activated
    or deactivated. Displaytask.xml and Hidetask.xml.

  • Scene which is basically an overlay for your apps. As you can see from the
    picture above, my overlay scene contains just those two buttons which
    toggle pause and skip track.

If you want to make this work on your phone, you may need to adjust the
resolution in your scene as your phone is likely to be different than yours so
it may not be perfectly aligned.

But before doing any adjustment, you actually need to import all those files downloaded above. To do that:

  1. Save all tasks in /sdcard/tasker/tasks

  2. Save the profile in /sdcard/tasker/profiles

  3. Save the scene in /sdcard/tasker/scenes

  4. Import them by long-pressing the relevant tabs (Scene, then Tasks, then Profile)

This is how it looks during the day:

waze_tasker_day

…and with Google Maps

gmaps_tasker_night

If you run into any troubles trying to set this up, let me know on twitter or in the comments.