更新时间:2026-05-22 GMT+08:00
分享

获取云机上正在运行的应用列表

方法名称

void getRunningApps(GetAppsReq getAppsReq)

功能描述

获取云机上正在运行的应用列表。该方法用于查询当前在云机上运行的应用程序。

参数说明

字段名

类型

说明

getAppsReq

GetAppsReq

获取应用请求对象

getAppsReq结构

字段名

类型

必填

说明

appType

AppTypeEnum

应用类型枚举:

  • SYSTEM_APP:系统应用
  • THIRD_APP:第三方应用
  • BOTH:全部

quality

Integer

图标质量参数,取值范围0-100,默认值为100,建议设为70~85平衡清晰度和大小

pageNum

Integer

分页页码,从1开始

pageSize

Integer

分页大小,最大20

needIcon

Boolean

是否返回应用图标,true返回icon和iconUrl字段,默认值:false

返回值

回调参数

  • AppOperateResponse结构

    字段

    类型

    说明

    error_code

    String

    错误代码,见附录

    error_msg

    String

    错误信息,见附录

    data

    GetAppsRsp

    应用信息列表,可能为空列表

  • 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
}

相关文档