ThirdpartyApp 接口
管理和启动第三方应用。
interface thirdpartyapp { record app-info { package-name: string, fingerprint: list<u32>, version-code: u32, can-remove: bool, app-name: string }
launch-qa: func(addr: string, app-info: app-info, page-name: string) -> future<result>; get-thirdparty-app-list: func(addr: string) -> future<result<list<app-info>>>;}app-info
Section titled “app-info”package-name:包名。fingerprint:签名指纹。version-code:版本号。can-remove:是否允许卸载。app-name:应用名称。
launch-qa
Section titled “launch-qa”- 参数:
addr: string设备地址。app-info: app-info目标应用信息。page-name: string目标页面。
- 返回:
future<result>。
get-thirdparty-app-list
Section titled “get-thirdparty-app-list”- 参数:
addr: string设备地址。 - 返回:
future<result<list<app-info>>>。
Rust 示例
Section titled “Rust 示例”use crate::astrobox::psys_host;
pub async fn list_apps(addr: &str) { let ret = psys_host::thirdpartyapp::get_thirdparty_app_list(addr).await; if let Ok(apps) = ret { for app in apps { tracing::info!("{} ({})", app.app_name, app.package_name); } }}