Developer preview

Public platform coming 2027

View SDK availability →

Developer preview

Camera & media

Design photo, clip and file workflows for Armor Pro, with explicit device state and durable app-side storage.

Photo and video capture

Target operations are takePhoto(), startVideo(), stopVideo(actionID) and readCameraState(). A capture request creates a task; the app follows capture state and waits for the terminal task outcome.

Acknowledging a stop request does not mean the video file has finished saving. Keep listening for file finalization. Follow the capture-indicator behavior documented for the supported device.

Kotlin · illustrative API sequence
// Requires a supported Pro device and ready control connection.
val requestID = sdk.takePhoto()

// Target event flow after implementation:
// TaskStarted -> Camera(file completion) -> TaskFinished
// Check the released SDK documentation for availability and outcomes.

Media session and transfer

  1. Call openMediaSession() and retain the task ID.
  2. Complete any system-assisted/manual Wi-Fi join. Wait for actual supported network readiness, the ready media session, and a successful open task.
  3. Call listMedia(); let the user select files from the returned list.
  4. Pass a writable destination to downloadMedia(). Process file events and the task’s terminal result.
  5. Commit the file to your application’s durable storage and sync it to your backend as required.
  6. Delete selected device files only after explicit sync confirmation.
  7. Close the transfer session using the procedure documented for the SDK release.

Complete files are the transport unit described by this design. A capture-to-file flow and a live preview/stream need different contracts.

Interrupted transfers and deletion

Persist SDK-generated RecoveryData together with the destination path and your application’s job/sync record. Reopen a session for the same device and pass the recovery data to resumeMediaDownload(). The SDK validates device/file identity and partial content before resuming.

Do not infer deletion success from a timeout or an transfer error. Reconcile the exact remote file identity when an outcome is uncertain. Keep durable app-side sync evidence even after removing the device copy.

If your app needs live video

Live streaming availability and behavior will be described in the SDK documentation. A stream-dependent application needs written confirmation of transport, codec, resolution/frame rate, latency, indicator behavior, concurrent recording and mobile lifecycle support. File capture and Wi-Fi transfer cannot by themselves establish those guarantees.

Read the Wi-Fi handoff and transfer guide →