API 참조
App
기기 및 앱 정보 가져오기, 클립보드 설정, 앱 재실행, 기기 수준 설정 관리를 수행합니다. 즐겨찾기 폴더 뮤테이션은 Files 섹션에 문서화되어 있습니다.
타입 정의
bash
type App {
usbConnected: Boolean!
urlToken: String! # current session token
httpPort: Int!
httpsPort: Int!
appDir: String!
deviceName: String!
battery: Int! # battery level 0–100
appVersion: Int! # versionCode
osVersion: Int! # Android SDK level e.g. 35
channel: String! # "github" | "google"
permissions: [String!]! # granted API permissions
audios: [PlaylistAudio!]! # current playlist
audioMode: MediaPlayMode! # REPEAT | REPEAT_ONE | SHUFFLE
audioCurrent: String! # path of the playing track
sdcardPath: String!
usbDiskPaths: [String!]!
internalStoragePath: String!
downloadsDir: String!
developerMode: Boolean!
favoriteFolders: [FavoriteFolder!]!
}
type FavoriteFolder {
rootPath: String!
fullPath: String!
alias: String # optional display alias, nullable
}
type TempValue {
key: String!
value: String!
}
type DeviceInfo {
# Hardware + OS info: manufacturer, model, sdkInt, buildChannel, etc.
# Fields are platform-dependent; see PlainApp source for the full list.
}
type Battery {
level: Int! # 0–100
status: BatteryStatus! # CHARGING | DISCHARGING | FULL | NOT_CHARGING
health: BatteryHealth!
plugged: BatteryPlugged!
temperature: Int! # tenths of a degree Celsius
voltage: Int! # millivolts
}
enum BatteryStatus { CHARGING DISCHARGING FULL NOT_CHARGING UNKNOWN }
enum BatteryHealth { GOOD OVERHEAT DEAD OVER_VOLTAGE UNSPECIFIED_FAILURE UNKNOWN COLD }
enum BatteryPlugged { AC USB WIRELESS NONE }작업
query
app
단일 쿼리로 모든 기기 및 앱 상태를 가져옵니다.
bash
query GetApp {
app {
usbConnected urlToken httpPort httpsPort appDir deviceName
battery appVersion osVersion channel permissions
audios { title path duration } audioMode audioCurrent
sdcardPath usbDiskPaths internalStoragePath downloadsDir developerMode
favoriteFolders { rootPath fullPath alias }
}
}query
deviceInfo
하드웨어 및 OS 정보 (제조사, 모델, SDK 레벨 등)를 가져옵니다.
bash
query GetDeviceInfo {
deviceInfo { manufacturer model sdkInt buildChannel }
}query
battery
현재 배터리 잔량, 충전 상태, 상태, 전압을 가져옵니다.
bash
query GetBattery {
battery { level status health plugged temperature voltage }
}mutation
setTempValue
서버 메모리에 임시 키/값 쌍을 설정합니다. HTTP 서버가 재시작될 때 지워집니다.
bash
mutation SetTempValue($key: String!, $value: String!) {
setTempValue(key: $key, value: $value) { key value }
}mutation
relaunchApp
기기에서 PlainApp 프로세스를 다시 시작합니다.
bash
mutation RelaunchApp {
relaunchApp
}mutation
openAccessibilitySettings
기기에서 Android 접근성 설정 화면을 엽니다. sendScreenMirrorControl이 제스처를 디스패치하기 전에 필요합니다.
bash
mutation OpenAccessibilitySettings {
openAccessibilitySettings
}mutation
openWebSettings
기기에서 PlainApp web-UI 설정 화면 (비밀번호, 2FA 등)을 엽니다.
bash
mutation OpenWebSettings {
openWebSettings
}mutation
setClip
기기 클립보드를 주어진 텍스트로 설정합니다.
bash
mutation SetClip($text: String!) {
setClip(text: $text)
}mutation
updateDeviceName
web UI에 표시되고 페어링된 peers에 브로드캐스트되는 기기 표시 이름을 변경합니다.
bash
mutation UpdateDeviceName($name: String!) {
updateDeviceName(name: $name)
}