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:

  1. select the Tasks  tab
  2. tap on the + button and give the task a name
  3. in the new screen, tap on the + button to add an action
  4. tap on the 3rd Party  button from the categories list
  5. tap on DailyRoads Voyager  to get to the Cmd screen
  6. 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:

  1. tap on the System  button from the categories list
  2. tap on Send Intent
  3. for Action specify one of the above intents (e.g. com.dailyroads.intent.action.START_VIDEO)
  4. 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:

  1. tap on the System button from the categories list
  2. tap on Send Intent
  3. for Action specify one of the above intents (e.g. com.dailyroads.background.START_VIDEO)
  4. 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:

  1. select the Profiles tab
  2. tap on the + button to bring up the context window
  3. select Event from the list
  4. tap on the System  button from the categories list
  5. tap on Intent  Received
  6. for Action  specify one of the above ON/OFF intents (e.g. com.dailyroads.status.VIDEO_ON)
  7. leave everything else to default
  8. 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.

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.