getSocInfo() |
none |
SocInfo — socModel, socManufacturer, hardware, device, model, buildId, release, sdkInt, sdkIntFull, securityPatch, supportedAbis |
Build.SOC_MODEL, SDK_INT_FULL, security patch |
hasSystemFeature(name) |
name: string — feature id, e.g. 'android.hardware.uwb' |
boolean |
PackageManager.hasSystemFeature |
getPackageVersion(pkg) |
pkg: string — application id |
PackageVersion — { installed, versionName, versionCode } |
PackageManager (+ <queries> for AICore/PCS) |
getCpuInfo() |
none |
CpuInfo — { coreCount, implementer, clusters, governor, cores } |
/proc/cpuinfo, cpufreq sysfs |
getCpuLoad() |
none |
CpuLoad — { appCpuPercent, frequencyUtilizationPercent, cores } |
cpufreq sysfs, Process.getElapsedCpuTime |
getMemoryInfo() |
none |
MemoryInfo — totals, heaps, low-memory flag and threshold, all in bytes |
ActivityManager.MemoryInfo, Runtime, Debug |
requestGc() |
none |
MemoryInfo — the reading taken after the collection |
Runtime.gc() then a re-read |
getThermal() |
none |
ThermalInfo — { thermalHeadroom, thermalStatus, thresholds, cpuHeadroom, gpuHeadroom } |
PowerManager thermal APIs, SystemHealthManager (16+) |
getDisplayInfo() |
none |
DisplayInfo — active mode, all modes, HDR types, luminance, ARR support, suggested frame rates |
Display modes/HDR/ARR |
setPreferredRefreshRate(rate) |
rate: number — requested Hz for this window |
Promise<boolean> — whether the request was applied |
WindowManager.LayoutParams.preferredRefreshRate |
getGpuInfo() |
none |
GpuInfo — { renderer, vendor, glVersion, vulkanVersion, error? } |
EGL/GLES query plus the Vulkan feature version |
getTorchInfo() |
none |
TorchInfo — { available, cameraId?, maxStrengthLevel?, defaultStrengthLevel?, currentStrengthLevel? } |
CameraManager characteristics |
setTorch(on, strengthLevel?) |
on: boolean — desired state. strengthLevel?: number | null — 1..maxStrengthLevel, honoured on Android 13+. |
Promise<boolean> |
setTorchMode, turnOnTorchWithStrengthLevel |
getHapticsInfo() |
none |
HapticsInfo — { hasVibrator, hasAmplitudeControl, envelopeEffectsSupported, resonantFrequencyHz, qFactor, supportedPrimitives } |
Vibrator capabilities |
playEnvelope(points, initialSharpness?) |
points: EnvelopePoint[] — { intensity 0..1, sharpness 0..1, durationMs } steps. initialSharpness?: number | null — starting sharpness. |
boolean — whether the effect was dispatched |
VibrationEffect.BasicEnvelopeBuilder (16+) |
playPrimitives(steps) |
steps: PrimitiveStep[] — { primitive, scale?, delayMs? } |
boolean |
VibrationEffect.Composition (11+) |
cancelVibration() |
none |
boolean |
Vibrator.cancel() |
getRadioInfo() |
none |
RadioInfo — nfc, bluetooth, uwb, wifiRtt and satellite blocks |
NfcAdapter, BluetoothManager, UwbManager, WifiRttManager, PackageManager |
startBleScan(timeoutMs?) |
timeoutMs?: number — stop scanning after this many ms |
Promise<{ success: boolean; scanning: boolean; error?: string }> |
BluetoothLeScanner.startScan |
stopBleScan() |
none |
boolean |
BluetoothLeScanner.stopScan |
getDiscoveredBleDevices() |
none |
DiscoveredBleDevice[] — { name, address, rssi, txPower?, timestampNanos, serviceUuids } |
Scan result cache |
startNfcReader(flags?) |
flags?: number — NfcAdapter reader-mode flags |
Promise<{ success: boolean; flags?: number; started?: boolean; error?: string }> |
NfcAdapter.enableReaderMode (needs a foreground Activity) |
stopNfcReader() |
none |
Promise<{ success: boolean }> |
NfcAdapter.disableReaderMode |
writeNdefText(text) |
text: string — record queued for the next tag presented |
Promise<{ success: boolean; queuedBytes?: number; error?: string }> |
Ndef.writeNdefMessage |
isNfcReaderActive() |
none |
boolean |
Reader-mode state |
startUwbRanging(sessionId?) |
sessionId?: number — session identifier, default 1001 |
Promise<UwbRangingResult> — { success, sessionId, technology, serviceAvailable, serviceName, rangingFeature, status, timestampMs } |
UwbManager / RangingManager |
stopUwbRanging() |
none |
boolean |
UwbManager |
isOfflineSpeechAvailable() |
none |
boolean |
SpeechRecognizer.isOnDeviceRecognitionAvailable |
startSpeechRecognition(requestId, onDevice) |
requestId: string — correlates the onSpeech* events. onDevice: boolean — require the on-device recognizer. |
Promise<boolean> |
SpeechRecognizer |
stopSpeechRecognition() / cancelSpeechRecognition() |
none |
boolean |
SpeechRecognizer |
getAppFunctions() |
none |
AppFunctionInfo[] — { id, name, description, category, target, enabled } |
App Functions registry |
executeAppFunction(functionId, params?) |
functionId: string — id from getAppFunctions(). params?: Record<string, any> — function-specific arguments. |
Promise<any> — function-specific payload |
App Functions dispatch |