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.
// 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
- Call
openMediaSession()and retain the task ID. - Complete any system-assisted/manual Wi-Fi join. Wait for actual supported network readiness, the ready media session, and a successful open task.
- Call
listMedia(); let the user select files from the returned list. - Pass a writable destination to
downloadMedia(). Process file events and the task’s terminal result. - Commit the file to your application’s durable storage and sync it to your backend as required.
- Delete selected device files only after explicit sync confirmation.
- 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.