文章目录
API说明
1)蓝牙相关
遥控器是否已经配对
接口定义示例:
/**
* @return 遥控器是否已经配对
*/
public boolean isRemoteControlPaired();
2)包管理
静默安装
接口定义示例:
/**
* 静默安装
* @param pkgPath app 绝对路径
*/
void silentInstallPkg(String pkgPath);
静默卸载
接口定义示例:
/**
* 静默卸载
* @param pkgName app 包名
*/
void silentUninstallPkg(String pkgName);
设置想要下次开机升级的 APK 路径
为了能在不提供新的固件的情况下升级系统中的App,并且不希望在使用过程中升级,打断用户使用.
Tips:需要在launcher启动前,完成app升级。
接口定义示例:
/**
* 设置想要下次开机升级的 APK 路径
* @param packagePath 要下次开机升级的 APK 绝对路径
* @throws Exception 异常信息
*/
void setBootUpgradePackagePath(String packagePath) throws Exception;
系统设置页面跳转方式
需要在我们自己的设置页面打开系统的某些页面,麻烦提供打开的方式,目前暂时需要如下页面:
- WIFI
- Bluetooth
- 系统升级
- 亮度模式
- 视频设置
- 系统信息
- 按键音
- 投影方式
- 启动方式
- Miracast
- 对焦设定
- 设备名称
- 恢复出厂
3)设备相关
获取光机当前的状态(已提供)
接口定义示例:
/**
* 获取光机当前的状态
* @return true:开 false:关
*/
boolean isDlpStateOn();
设置光机开关(已提供)
接口定义示例:
/**
* 设置光机亮或者不亮(开或关)
* @param isOn true:开 false:关
*/
void setDlpState(boolean isOn);
设置光机亮度
接口定义示例:
/**
* @param led R、G、B 灯中的某一个
* @param value 亮度
*/
public void setOptoBrightness(int led, int value);
获取光机亮度
接口定义示例:
/**
* @param led R、G、B 灯的某一个
*/
public int getOptoBrightness(int led);
重启机器
接口定义示例:
/**
* 重启机器
* @throws Exception 命令执行异常
*/
void reboot() throws Exception;
关机
接口定义示例:
/**
* 关机
* @throws Exception 命令执行异常
*/
void shutdown() throws Exception;
获取投影状态(已提供)
接口定义示例:
/**
* 获取投影状态(正装正投,正装背投)
*
* @return 投影仪当前的投影状态
*/
public static XXObject getProjectionMode() throws Exception {
其中 XXObject
为自己定义,已最终提供的接口为准
获取当前设备硬件ID
接口定义示例:
/**
* 获取当前设备硬件ID
*
* @return machineId
*/
public String getMachineId() throws Exception;
获取开机类型
接口定义示例:
/**
* 获取开机类型
*
* @return 0x01: "红外开机"; 0x02: "按键开机"; 0x03: "上电开机"; 0x04: "RTC定时开机";
*/
public static String getBootMode() throws Exception;
进入音响模式
接口定义示例:
/**
* 进入音响模式
*/
void startAudioMode();
当前是否处于音响模式
接口定义示例:
/**
* 当前是否处于音响模式
*/
boolean isAudioMode();
遥控器语音键监听(GlobalKey 需配置)
提供接口监听遥控器语音按键 ACTION_DOWN 和 ACTION_UP,用于支持语音控制
调节灯光值
接口定义示例:
/**
* @param pwmled 用于调节 R、G、B、W 四个灯的哪个
* @param value 占空比,取值 [0, 100]
*/
public void changeLight(int pwmled, int value);
获取每个灯当前灯光值
接口定义示例:
/**
* @param pwmled 用于获取 R、G、B、W 四个灯的哪个
* @return 占空比,取值 [0, 100]
*/
public int getLightValue(int pwmled);
4)闹钟相关
是否开启定时开机闹钟
接口定义示例:
/**
* 是否开启定时开机闹钟
*
* @param enable 是或否
*/
public static void enableBootTime(boolean enable) throws Exception;
定时开机设置
支持场景示例: 用户A 需要在每周 周二、周三 9:00 定时开机
接口定义示例:
/**
* @param hour 24小时制,设定定时开机小时
* @param minute 分钟
* @param cycle 一周中哪几天支持定时开机
*/
public void setBootTime(int hour, int minute, List<Integer> cycle) throws Exception;
其中 cycle
表示一周中哪几天支持定时开机
设置后按周循环
获取当前设定的定时开机设置
接口定义示例:
/**
* @return 返回设定的数据
*/
public XXObject getBootTime() throws Exception;
5)画面校正相关
控制光机角度(马达有声音,但不移动)
接口定义示例:
/**
* 控制马达状态
* @param status 马达状态,向上调整、向下调整、停止调整
*/
void controlMotor(int status);
梯形校正设置
接口定义示例:
/**
* @param position 选择调整点,左上、右上、左下、右下
* @param horizontalValue 水平方向的调整比例 0~100 0为基准值,100为最大调整值
* @param verticalValue 垂直方向的调整比例 0~100 0为基准值,100为最大调整值
*/
public static void setPointKeystone(int position, int horizontalValue, int verticalValue) throws Exception;
获取梯形校正数值
详细说明: 包含左上,右上,左下,右下的水平竖直方向的调整比例
6)OTA
服务端接口(百度提供)
接口返回:
{
"code": 200,
"message": "ok",
"data": {
"versionName": "V1.3.111",
"updateInfo": "更新信息",
"isFullPakageUpdate": true,
"packageDownloadUrl":"https://xxxxxx",
"packageDownloadMd5": "xxxxxxx",
"upgradeMethod": "no_force_notice"
}
}
versionName: 版本号信息
updateInfo: 更新信息
isFullPakageUpdate: 是否为全量包升级
packageDownloadUrl: 包下载地址,末尾要加上 ? 以作为终结符标志
packageDownloadMd5: 包的 md5 值
upgradeMethod: 推送方式[no_force_notice,force_update,force_popremind, no_force_popremind]分别对应:非强制升级,强制升级,强制升级并弹窗提示,非强制升级并弹窗提示
获取 OTA 升级信息
需要 OTA 升级时可以通过 广播 或者其他方式通知到其他 APP
7)系统日志
打开日志开关
接口定义示例:
public void startLogRecord();
关闭日志开关
接口定义示例:
public void stopLogRecord();
日志文件创建监听
接口定义示例:
public void registerListener(LogCreateListener listener);
日志文件创建时->回调日志文件全路径
当前是否打开了日志开关
接口定义示例:
public boolean isLogRecordRunning();
8)其他
配置APP打开时进入飞鼠模式
接口定义示例:
/**
* @param pkg 包名
*/
public void addAppOnMouseMode(String pkg);
将APP移除飞鼠模式
接口定义示例:
/**
* @param pkg 包名
*/
public void removeAppOnMouseMode(String pkg);
获取已经添加飞鼠模式的app列表
接口定义示例:
/**
* @return List<String> 包名列表
*/
public List<String> getAppListOnMouseMode();
清空所有飞鼠模式app
接口定义示例:
public void clearAirMouse();
截屏
接口定义示例:
public Bitmap getScreenShot(int width, int height);
系统菜单中设置临时定时关机时发广播通知
如 15、20 等分钟后关机
发送广播进行通知,并携带 15、20 等时间参数
系统菜单中取消临时定时关机
取消临时定时关机时发送广播通知
更改开机动画或视频
详细描述: 更改开机动画,将想要替换的动画和视频以指定格式存入机器中,然后将绝对路径输入。支持多个视频以及多张图 片,多张图片将采用轮播的模式,视频会循环播放直到机器启动。 指定格式: Andorid bootAnimation.zip 标准格式。
接口定义示例:
/**
* 更改开机动画或视频
* @param path 动画或视频的绝对路径
*/
void changeBootAnimation(String path) throws Exception
文章作者 Brook
上次更新 0001-01-01