It's been a while since I posted anything so it's fitting this'll be a long one! I recently got a Sony Xperia Z to replace my old LG Optimus 2X. Along with it's great screen, waterproofing and vast speed, it has NFC. With work I am driving to various client sites and it's an increasingly common occurrence to receive phone calls while driving. As I have no hands free kit I always used to take these calls using the speakerphone, requiring a swipe and then poke to answer the call.
Having been inspired by a work colleague using NFC to enable work mode on her phone, I thought I should use this to have a more robust car mode. Many of the newer Android phones already have a car mode which removes the need to swipe to answer and defaults to answering on the speakerphone. This can be turned on via tasker. However it would be just as simple to press the home screen icon if this was all that I wanted.
I bought some clear RapidNFC tags from Amazon, delivery was fast and well packaged.
It's worth noting that on my phone sometimes the task and profile names will differ slightly from those stated here, so if your screen doesn't look exactly the same as the screenshots don't panic!
From previous posts, I've included auto responses from SMS and an automated work mode (based on time). I wanted to have the SMS functionality within car mode but not disrupt work mode when out of the car. The profiles have been tweaked to work with the new phone and some redundancy has been added to cope with car mode (ie speakerphone off).
Quick reminder for work time:
|Profile Name||Work Mode||Normal Mode|
8:25 till 18:00
Task Name: Work Time
Task Name: Normal Time
Work time integration
I set up an additional profile which matches the contexts for Work Time but the opening task is simply:
Variable Set [ Name:%WORKTIME To:1 Do Maths:Off Append:Off]
and the closing task:
Variable Clear [ Name:%WORKTIME Pattern Matching:Off ]
These set the %WORKTIME variable (which has to be all capitals) to 1 whenever it is work time and clears the variable when it's not. This will allow the car mode to reset back into the appropriate setup when it's exited.
Auto response integration
The context of the profile has been simplified to be Event: Received SMS. There is no longer a requirement for Copilot detection or power source detection as this profile will be normally be inactive until activated as part of car mode. This profile is now called SMS Car Mode.
CALLS car mode setup
The context for car mode is Variable Value %CARMODE matches 1. Once the switch has been set up this allows the car mode to be permanently active. This profile is called CALLS Car Mode.
Notify [ Title:JB's magical Car Mode Text:Enabled Number:1 Permanent:On Priority:3 ]
Profile Status [ Name:Work Mode Set:Off ]
Car Mode [ Set:On Go Home:Off ]
Speakerphone [ Set:On ]
Wait [ MS:0 Seconds:10 Minutes:0 Hours:0 Days:0 ]
In-Call Volume [ Level:5 Display:Off Sound:Off ]
Ringer Volume [ Level:5 Display:On Sound:Off ]
Media Volume [ Level:12 Display:Off Sound:Off ]
The notification reminds me that car mode is active. Work mode is disabled so that, for example, at 18:00 if I'm driving my phone doesn't switch into 'normal' mode. The phone's built in car mode enables simple one poke answering with speakerphone enabled (the speakerphone on is incase the built in car mode got disabled accidently*).
My current phone holder often presses the volume down button as it's gripping the phone so the 10 second delay allows me chance to secure the phone in the holder and stop pressing the volume button. The volumes are then reset to hear incoming calls (ringer), sat nav (media) and speakerphone (in-call). Due to the fact that the volume often gets lowered when attaching to the screen, I felt it was reassuring if one of the volume changes is displayed onscreen so that you can see that the volumes have increased to what they should be.
*I suspect the chances of accidentally exiting car mode when driving is extremely low but during testing, in my flat, I was jumping in and out of tasker/settings windows and sometimes it would close unexpectedly.
Notify Cancel [ Title:JB's magical Car Mode Warn Not Exist:Off ]
Car Mode [ Set:Off Go Home:Off ]
If [ %WORKMODE ~ 1 ]
Perform Task [ Name:Work Time Stop:Off Priority:5 ]
Perform Task [ Name:Normal Time Stop:Off Priority:5 ]
Profile Status [ Name:Work Mode Set:On ]
This is where the work mode intregration comes in... on exiting car mode it runs the correct task depending on whether it should be work time or normal time. This is possibly acting as redundancy as reactivating the profile should set these again but due to the critical importance of work mode being set, I deemed it worthwhile.
To enable toggling, set up a named task with the following:
Profile Status [ Name:CALLS Car Mode Set:Toggle ]
Profile Status [ Name:SMS Car Mode Set:Toggle ]
ariable Set [ Name:%CARMODE To:1 Do Maths:Off Append:Off]
When this task is called it toggles the SMS and CALLS car modes to on and sets the %CARMODE variable to 1. The variable doesn't do anything else and never changes, as mentioned above it allows the CALLS Car Mode profile to be permanently active. The only thing left to do is set up the trigger for this task.
Using NFC ReTAG FREE you can associate NFC tags with various activities (including launching Android's standard car mode directly if you want a basic car mode). Once you've scanned your tag you need to assign your activity. The feature you need is within Labs > Tasker Task (advanced) which allows you to call the named task you just set up. If done correctly, scanning your NFC tag will now result in toggling your CALLS and SMS Car Mode profiles.
Remind me why I bothered if I can enable car mode directly from NFC ReTAG?
|Method||Doing nothing||Standard car mode||Enhanced car mode|
|Answering||Swipe||Single poke||Single poke|
|Display sleep||Depends on your setup||Phone will not sleep in car mode (unless you manually turn off screen)||Phone will not sleep in car mode (unless you manually turn off screen)|
|Ringer volume||As set||As set||Specific car options|
|Sat-nav (media) volume||
|As set||Specific car options|
|Speakerphone (in-call) volume||As set||As set||Specific car options|
|Auto respond SMS||No||No||Yes|
|SMS over speakerphone||No||No||Yes|
|Seamless switch back to normal/work volume profiles||No||No||Yes|
To find the apps needed use the links below:
|Tasker||NFC ReTAG FREE|
First (and long overdue post) of 2012! Started a new job so I've been pretty busy. With the new job theme I have created a new task in Tasker to make my phone more work friendly. I know there are a load of similar automatic phone profile scripts. Most make your phone go to silent but I need my phone to be more businessy! With my job I am often at clients offices and as a result my mobile will be a key form of communication for my office to get hold of me.
I want to have a
boring businessy ringtone in case it is overheard at client offices, I also want my SMS and email alerts to be silent and not have the distraction of vibration. I do however need vibration for calls otherwise I probably wouldn't even notice them!
Set normal profile
Day: Sat and Sun
(this isn't really important but worth NOT overlapping with work times in case you enable this profile)
Default Ringtone [ Type:Ringer Sound:03onceinawhileRingtone ]
Alarm Volume [ Level:4 Display:Off Sound:Off ]
Notification Volume [ Level:5 Display:Off Sound:Off ]
Ringer Volume [ Level:6 Display:Off Sound:Off ]
Media Volume [ Level:2 Display:Off Sound:Off ]
Vibrate On Notify [ Set:On ]
Vibrate On Ringer [ Set:On ]
Set work profile
In Some Tasker Profiles I detail how to set up a profile to read out a SMS while driving. As I need the same contexts I will simply add a task to the profile.
A quick reminder of original profile
Event: Received Text
State: Power [ Source:Any ]
Application: CoPilot Live EU Major
Wait [ Seconds:4 ]
Say [ Text:%SMSRN sent the following SMS: %SMSRB ]
If I'm driving for a long time, I'd always have the phone plugged into a charger and on copilot. The reasoning behind the order of the contexts is predominantly for the sake of battery life (minimising the context checks). The delay in saying the SMS is to allow the notification tone to finish.
The extra task you need for auto response
Send SMS [ Number:%SMSRF Message:[Auto Response] I am currently driving and will get back to you soon. James Store In Messaging App:On]
I have formatted the above to make it more clear. Whether or not you 'store in messaging app' makes no difference to sending the message, I simply wanted a record of what has been sent back and forth.
You can download the full profile Read SMS While Navigating 2, don't forget to change the name if you're not called James!
On Android Market:
I downloaded an app I saw yesterday, it was designed to automatically change your volume to a predefined level when you plugged in your headphones then back to a different predefined level when you took them out. I thought that's a great idea and proceeded to download and install straight away...
It was only this morning I realised how pointless that was, I could create a profile for tasker which would actually do the job better. Stupid thing is that it's probably one of the most obvious/easiest profiles to even create!
Context: State > Hardware> Headset Plugged > No Mic
Task: Audio > Media Volume > 2
If you plug your headphones in during configuration you can hear how loud 2 is and adjust accordingly. Media volume is a setting and so is automatically reset when the context state ends. In addition, I also have
App > Load App > Music
to open my music app when I plug in headphones.
Why is this any better?
It's better than the app I downloaded because it resets the media volume to whatever it was before hand. Imagine you want to be quiet on a train (volume set low) and later plug in headphones to listen to music. If you then unplug your headphones you wouldn't want your phone to suddenly be normal loudness, you would want it to still be quiet. [Subtle advantage, I'll accept that]
If you don't have tasker, the concept is good so you will probably want it anyway... the app was called Hearing Saver.
|Hearing Saver||[wcs_qr_code url='https://market.android.com/details?id=com.jakebasile.android.hearingsaver' size='128' ecl='L|2']||Tasker||[wcs_qr_code url='https://market.android.com/details?id=net.dinglisch.android.taskerm' size='128' ecl='L|2']|