HarmonyOS 鸿蒙Next中如何查看AppPicker选中的具体应用?

HarmonyOS 鸿蒙Next中如何查看AppPicker选中的具体应用? 【问题描述】:咨询一下,这个api,可以从系统选择应用,但是返回的只是token,此时app中有什么办法可以展示给用户看它选中的是什么应用吗?https://developer.huawei.com/consumer/cn/doc/harmonyos-references/screentimeguard-app-picker

【问题现象】:不涉及

【版本信息】:不涉及

【复现代码】:不涉及

【尝试解决方案】:不涉及

3 回复

伙伴您好,这个接口是专门在屏幕时间守护服务中用来选择应用进行管控的,调用接口后有UI界面展示。

参考:拉起应用选择页-Screen Time Guard Kit(屏幕时间守护服务)-应用服务 - 华为HarmonyOS开发者

更多关于HarmonyOS 鸿蒙Next中如何查看AppPicker选中的具体应用?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,通过AppPicker的onChange回调获取选中应用。使用AppInfo对象解析应用信息,如appIdbundleNamelabel。示例代码:

AppPicker({
  onChange: (value: AppInfo) => {
    console.info('Selected app:' + value.appId);
  }
})

直接访问value的属性即可获取选中应用的具体标识和名称。

在HarmonyOS Next中,AppPicker返回的token可用于通过bundleManager.getApplicationInfo()获取应用详细信息,包括应用名称、图标等。示例代码:

import bundleManager from '@ohos.bundle.bundleManager';

// 使用AppPicker返回的token
let token = 'your_app_picker_token';

try {
  let appInfo = await bundleManager.getApplicationInfo(token, 0, 100);
  console.log('应用名称:', appInfo.name);
  console.log('应用图标:', appInfo.icon);
  // 可在UI中展示name和icon给用户
} catch (error) {
  console.error('获取应用信息失败:', error);
}

这样即可在界面上显示用户选中的具体应用名称和图标。

回到顶部