应用生命周期回调
方法名称
void onAppLifeCycle(AppOperateResponse<AppLifeCycle> appOperateResponse)
功能描述
应用生命周期回调。该方法在应用生命周期状态更新时触发。
参数说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| appOperateResponse | AppOperateResponse | 操作响应对象 |
回调参数
| 字段 | 类型 | 说明 |
|---|---|---|
| error_code | String | 状态码,0表示成功 |
| error_msg | String | 错误详情 |
| data | AppLifeCycle | 磁盘使用数据对象 |
AppLifeCycle
| 字段 | 类型 | 说明 |
|---|---|---|
packageName | String | 应用包名 |
lifeCycleStatus | String | 生命周期状态
|
| restoreAppProgress | Integer | 应用还原进度,0-100 |
| restoreCode | String | 应用还原结果 成功返回“0” 异常场景:异常场景错误码参考表1 restoreCode错误类型及场景说明 |
| intercepted | boolean | 应用还原的触发类型 true 热点应用自动还原,false 用户点击触发 |
| 错误代码 | 错误场景 | 错误原因 |
|---|---|---|
| 110 | OBS 对象存储操作失败(如 APK 下载/上传、备份包上传失败等) | 网络异常、权限不足、存储空间满或 OBS 服务不可用 |
| 111 | 解包/解压失败,如还原阶段解压tar备份包失败 | 文件损坏、格式不匹配、解压工具异常或路径问题 |
| 112 | 安装APK失败 | 签名不一致、权限不足、依赖缺失或系统限制 |
| 114 | 内部通用失败(无法归入其他类别的异常) | 含进程异常重启(如 “kp_server_go restart unexpectedly”)、兜底错误等 |
| 115 | 数据库读写失败 | 连接断开、SQL 错误、事务冲突或锁超时 |
| 116 | 磁盘/存储空间不足,如还原前空间检查(HasEnoughSpace)不通过,或下载解包阶段命中obs.SpaceErr | 设备剩余空间低于阈值,无法完成写入或解压操作 |
| 117 | 应用挂载失败,如目标应用并非共享应用("the app is not shared app") | 应用未配置为可共享挂载,或挂载策略不兼容 |
| 118 | 与kp agent通信失败,如向agent下发指令或从agent拉取数据失败 | 网络中断、agent 无响应、协议错误或认证失败 |
| 119 | 预留/生成占位空间失败(如二阶段还原前generatePlaceholder阶段出错),与SPACE_ERROR(磁盘已满)区分:此处指空间准备/生成动作失败 | 空间分配逻辑异常,区别于 SPACE_ERROR(此处指动作失败而非容量不足) |
| 120 | 清理应用失败,包括单用户docClear与多用户multiUserClear场景 | 权限不足、文件被占用、清理流程中断或数据锁定 |
| 121 | 系统内存不足("system memory is insufficient") | OOM 风险高,系统拒绝分配资源以保护稳定性 |
| 130 | 云手机当前处于推流中,无法执行该操作("phone is in streaming") | 操作与当前设备状态冲突,需等待推流结束或切换状态 |
返回值
无
调用示例
/ 2. 注册回调接口(建议在初始化时注册一次)
CloudPhoneClient.setAppCallback(new CloudPhoneClient.Callback.AppCallback() {
@Override
public void onGetInstalledApps(AppOperateResponse<AppLifeCycle> response) {
if (response.isSuccess()) {
AppLifeCycle rsp = response.getData();
} else {
// 处理接口调用失败(如网络异常、参数错误等)
String errorMsg = response.getErrorMsg();
int errorCode = response.getErrorCode();
}
}
});