Voyager can be used as a normal, interactive app, but can also be controlled by other apps via Android intents. This greatly enhances its utility, as it can be incorporated into “profiles” and “recipes”. There is some limited automation built into Voyager (see the “Automatic mode” settings), but dedicated automation apps can achieve much more, even voice control (e.g. using AutoVoice).
By convention, Android intents have the last section written in upper case. So make sure you use the proper case when specifying any of the intents listed below.
Tasker integration
The first app of this kind, and still the most popular one is Tasker. The free version of Voyager has been part of Tasker’s 3rd party category since 2011, and you can still use that route in Tasker * to create a task. You just need to:
- select the Tasks tab
- tap on the + button and give the task a name
- in the new screen, tap on the + button to add an action
- tap on the 3rd Party button from the categories list
- tap on DailyRoads Voyager to get to the Cmd screen
- select one from the 6 options: Start/Stop/Retain Video, Start/Stop Photo or Stop App
Starting with Voyager version 5.0, the “retain” option has been renamed to “protect”, but it still works the same way, moving a tempvideo to the protected folder.
Activity action intents
Voyager and Voyager Pro can also be controlled by sending intents directly. The 3rd party category option above just wraps these intents into an easier to use interface. Foreground intents:
- com.dailyroads.intent.action.START_VIDEO
- com.dailyroads.intent.action.STOP_VIDEO
- com.dailyroads.intent.action.PROTECT_VIDEO
- com.dailyroads.intent.action.START_PHOTO
- com.dailyroads.intent.action.STOP_PHOTO
- com.dailyroads.intent.action.STOP_APP
- com.dailyroads.intent.action.STOP_APP_DEFAULT
These intents can start the app (e.g. with START_VIDEO) and control video and photo capturing. STOP_APP asks Android to immediately remove the app from memory, while STOP_APP_DEFAULT causes a softer exit, leaving the app in memory to finalize uploads.
To specify one of these intents in Tasker * you need to repeat the first 3 steps from the top, then:
- tap on the System button from the categories list
- tap on Send Intent
- for Action specify one of the above intents (e.g. com.dailyroads.intent.action.START_VIDEO)
- leave everything else to default, except for Target select Activity
Warning: due to how Android handles incoming action intents, you may run into problems if the app is already running in one orientation, while another orientation is specified in the app’s settings. There are no problems if the orientations are the same, or set to auto-orientation in the settings. To avoid such potential issues, it’s best not to use intents to control an already running app. Instead, you should use a broadcast intent, detailed below.
Background broadcast intents
The above intents will cause Voyager to get into foreground mode. To keep it in background, you can send these intents:
- com.dailyroads.background.START_VIDEO
- com.dailyroads.background.STOP_VIDEO
- com.dailyroads.background.PROTECT_VIDEO
- com.dailyroads.background.START_PHOTO
- com.dailyroads.background.STOP_PHOTO
- com.dailyroads.background.MIC_ON
- com.dailyroads.background.MIC_OFF
- com.dailyroads.background.BUTTONS_ON
- com.dailyroads.background.BUTTONS_OFF
- com.dailyroads.background.STOP_APP
There are 2 new groups here: turn the microphone on/off (for video recording) and show/hide the background buttons (already selected in the “Background mode” settings).
To specify one of these intents in Tasker * you need to repeat the first 3 steps from the top, then:
- tap on the System button from the categories list
- tap on Send Intent
- for Action specify one of the above intents (e.g. com.dailyroads.background.START_VIDEO)
- leave everything else to default, and make sure the Target is Broadcast Receiver
Status intents
Voyager not only just receives commands, but can also participate in a dialog, informing other apps of its status. For these broadcast intent “questions”:
- com.dailyroads.status.VIDEO
- com.dailyroads.status.PHOTO
- com.dailyroads.status.MIC
- com.dailyroads.status.BUTTONS
Voyager can “reply” with these broadcast intents:
- com.dailyroads.status.VIDEO_ON
- com.dailyroads.status.VIDEO_OFF
- com.dailyroads.status.PHOTO_ON
- com.dailyroads.status.PHOTO_OFF
- com.dailyroads.status.MIC_ON
- com.dailyroads.status.MIC_OFF
- com.dailyroads.status.BUTTONS_ON
- com.dailyroads.status.BUTTONS_OFF
In fact, when the respective status changes, the above ON/OFF intents are broadcasted even without a “question”. This allows for passive listening of Voyager’s status, so you can use them as triggers in automation apps.
In Tasker * you would do this:
- select the Profiles tab
- tap on the + button to bring up the context window
- select Event from the list
- tap on the System button from the categories list
- tap on Intent Received
- for Action specify one of the above ON/OFF intents (e.g. com.dailyroads.status.VIDEO_ON)
- leave everything else to default
- continue with setting up the task you want
This feature of Voyager to participate in a dialog allows integrating dashcam functionality into other apps.
Camera mode intents
The main screen of Voyager has a camera mode button to quickly go through the pre-set camera modes. You can also set a camera mode programmatically, by sending any of these broadcast intents:
- com.dailyroads.camera.AUTO
- com.dailyroads.camera.DAYLIGHT
- com.dailyroads.camera.SUNNY
- com.dailyroads.camera.CLOUDY
- com.dailyroads.camera.MOONLIGHT
- com.dailyroads.camera.DARKNIGHT
- com.dailyroads.camera.CITYNIGHT
- com.dailyroads.camera.CUSTOM
Focus intents
Video and focus modes can also be controlled programmatically, by sending any of these broadcast intents:
- com.dailyroads.video.focus.CONT
- com.dailyroads.video.focus.CONT_AUTO
- com.dailyroads.video.focus.INFINITY
- com.dailyroads.video.focus.AUTO
- com.dailyroads.video.focus.EDOF
- com.dailyroads.video.focus.FIXED
- com.dailyroads.photo.focus.INFINITY
- com.dailyroads.photo.focus.AUTO
- com.dailyroads.photo.focus.EDOF
- com.dailyroads.photo.focus.FIXED
CONT means continuous, AUTO means auto-focus, and CONT_AUTO is a combination of the two. Some Android devices may support just a subset of the above focus options. If an option is not supported (not in the app’s settings), Voyager just ignores the incoming intent.
Other automation apps
As you can see in the examples above, Tasker can send and receive intents. But, it is not the only Android app capable of working with user-specified intents.
- Automate can send and receive broadcast intents.
- AutomateIt can launch intent actions.
- IFTTT can’t yet work directly with user-specified intents, but maybe there are other creative ways to use it.
Other similar apps (like Locale or MacroDroid) are listed here and here.
Warning: If the intents appear not to work, you might also need to specify the package name, especially on newer Android versions. The package name is what uniquely identifies each app, and it is com.dailyroads.v for the free version, and com.dailyroads.v.pro for the Pro version.
* Tested with Tasker version 4.8. In other versions the details may be different, but the same principles still apply.