获取云机上正在运行的应用列表
方法名称
void getRunningApps(GetAppsReq getAppsReq)
功能描述
获取云机上正在运行的应用列表。该方法用于查询当前在云机上运行的应用程序。
参数说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| getAppsReq | GetAppsReq | 获取应用请求对象 |
| 字段名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appType | AppTypeEnum | 是 | 应用类型枚举:
|
| quality | Integer | 否 | 图标质量参数,取值范围0-100,默认值为100,建议设为70~85平衡清晰度和大小 |
| pageNum | Integer | 是 | 分页页码,从1开始 |
| pageSize | Integer | 是 | 分页大小,最大20 |
| needIcon | Boolean | 否 | 是否返回应用图标,true返回icon和iconUrl字段,默认值:false |
返回值
无
回调参数
- AppOperateResponse结构
- GetAppsRsp结构
字段名
类型
说明
appList
List<AppInfo>
应用列表(详见下方AppInfo结构)
totalCount
Integer
应用总数(用于分页)
pageNum
Integer
当前页码
pageSize
Integer
当前分页大小
- AppInfo结构
字段名
类型
说明
appName
String
应用名称
packageName
String
应用包名
icon
String
应用图标原始字节(WebP格式),若needIcon=false或未获取到则为null
iconUrl
String
优先使用图标下载地址(WebP格式),无值则用icon
isReady
Boolean
应用是否处于可运行状态
snapshot
String
运行应用截图原始字节(WebP格式),部分场景(例如不同意应用协议)可能为空,需要自行补充图片
调用示例
// 1. 注册回调
CloudPhoneClient.setAppCallback(new CloudPhoneClient.Callback.AppCallback() {
@Override
public void onGetInstalledApps(AppOperateResponse<GetAppsRsp> response) {
if (response.isSuccess()) {s
GetAppsRsp data = response.getData();
for (AppInfo app : data.getAppList()) {
Log.d("APP", "Name: " + app.getAppName() + ", Icon URL: " + app.getIconUrl());
}
} else {
Log.e("APP", "Error: " + response.getErrorMessage());
}
}
});
// 2. 构建请求
GetAppsReq req = new GetAppsReq();
req.setAppType(GetAppsReq.AppTypeEnum.BOTH); // 获取所有应用
req.setQuality(80); // 图标质量设为80
req.setPageNum(1); // 第一页
req.setPageSize(10); // 每页10条
req.setNeedIcon(true); // 返回图标
// 3. 调用接口
getRunningApps(req); 响应示例
{
"appList": [
{
"appName": "Chrome",
"packageName": "com.android.chrome",
"iconUrl": "https://example.com/icon_chrome.webp",
"isReady": true,
"snapshot": "[WebP字节数据]"
},
{
"appName": "Settings",
"packageName": "com.android.settings",
"icon": "[WebP字节数据]",
"isReady": true,
"snapshot": "[WebP字节数据]"
}
],
"totalCount": 42,
"pageNum": 1,
"pageSize": 10
}