English | 简体中文
Notepad SDK示例
- 扫描设备
- 连接设备
- 绑定设备
- 接收实时笔迹
- 导入离线字迹
- 获取设备信息
- 升级设备固件
val notepadScanner = NotepadScanner(context)
notepadScanner.callback = object : NotepadScanner.Callback {
override fun onScanResult(result: NotepadScanResult) {
println("onScanResult $result")
}
}
notepadScanner.startScan()
// ...
notepadScanner.stopScan()连接从NotepadScanner.Callback#onScanResult中扫描到的result,
参数authToken可选,不传则默认为[0x00, 0x00, 0x00, 0x01]
NotepadConnector.callback = object : NotepadConnectorCallback {
override fun onConnectionStateChange(notepadClient: NotepadClient, state: ConnectionState) {
println("onConnectionStateChange $state")
}
// ...
}
val authToken = null
NotepadConnector.connect(context, result, authToken)
// ...
NotepadConnector.disconnect()用NotepadConnector#connect的authToken绑定设备
notepadClient.claimAuth({
println("claimAuth complete")
}, {
println("claimAuth error $it")
})
// ...
notepadClient.disclaimAuth({
println("disclaimAuth complete")
}, {
println("disclaimAuth error $it")
})-
NotepadMode.Common
设备仅保存压力>0的
NotePenPointer(含时间戳)到离线字迹中 -
NotepadMode.Sync
设备发送所有
NotePenPointer(无时间戳)到连接的手机/Pad上
设备默认为NotepadMode.Common(连接/未连接),只有连接后setMode才会更改
notepadClient.setMode(NotepadMode.Sync, {
println("setMode complete")
}) {
println("setMode error $it")
}当NotepadMode.Sync时,接收NotePenPointer
notepadClient.callback = object : NotepadClient.Callback {
override fun handlePointer(list: List<NotePenPointer>) {
println("handlePointer ${list.size}")
}
// ...
}离线字迹保存于NotepadMode.Common。离线字迹由压力>0的NotePenPointer(含时间戳)组成
离线字迹保存在FIFO队列中。通常我们先获取队列摘要,然后循环导入各个离线字迹
获取队列的数量、占用空间等
notepadClient.getMemoSummary({
println("getMemoSummary success $it")
}) {
println("getMemoSummary error $it")
}获取FIFO队列中第一个离线笔迹的信息
notepadClient.getMemoInfo({
println("getMemoInfo success $it")
}) {
println("getMemoInfo error $it")
}导入FIFO队列中第一个离线笔迹
notepadClient.importMemo({
println("importMemo progress $it")
}, {
println("importMemo success $it")
}) {
println("importMemo error $it")
}删除FIFO队列中第一个离线笔迹
notepadClient.deleteMemo({
println("deleteMemo complete")
}) {
println("deleteMemo error $it")
}println("W: ${notepadClient.width}, H: ${notepadClient.height}")notepadClient.getDeviceName({
println("getDeviceName success $it")
}) {
println("getDeviceName error $it")
}
notepadClient.setDeviceName("name", {
println("setDeviceName complete")
}) {
println("setDeviceName error $it")
}notepadClient.getBatteryInfo({
println("getBatteryInfo success $it")
}) {
println("getBatteryInfo error $it")
}notepadClient.getDeviceDate({
println("getDeviceDate success $it")
}) {
println("getDeviceDate error $it")
}
notepadClient.setDeviceDate(timestamp, {
println("setDeviceDate complete")
}) {
println("setDeviceDate error $it")
}notepadClient.getAutoLockTime({
println("getAutoLockTime success $it")
}) {
println("getAutoLockTime error $it")
}
notepadClient.setAutoLockTime(duration, {
println("setAutoLockTime complete")
}) {
println("setAutoLockTime error $it")
}使用*.srec文件升级设备固件
notepadClient.upgrade("path", version, {
println("upgrade progress $it")
}, {
println("upgrade complete")
}, {
println("upgrade error $it")
})