跳到主要内容

应用内拉起卡片管理加桌

从API version 18开始,Form Kit提供在应用内将ArkTS卡片添加到桌面的能力,以方便用户后续便捷查看信息或快速进入应用。

开发步骤

下面给出示例,实现如下功能:在应用内点击“添加卡片到桌面”按钮,拉起卡片管理页面。用户可在卡片管理页面,点击“添加至桌面”按钮,此时在桌面即可看到新添加的卡片。

  1. 创建卡片

  2. 通过openFormManager方法在应用内添加拉起卡片管理页面入口。

    // entry/src/main/ets/pages/Index.ets
    import { formProvider } from '@kit.FormKit';
    import { BusinessError } from '@kit.BasicServicesKit';
    import { Want } from '@kit.AbilityKit';
    import { promptAction } from '@kit.ArkUI';
    import { hilog } from '@kit.PerformanceAnalysisKit';

    const DOMAIN = 0x0000;

    @Entry
    @Component
    struct Index {
    build() {
    Row() {
    Column() {
    // 添加拉起卡片管理页面按钮
    Button($r('app.string.open_form_manager_button'))
    .onClick(() => {
    const want: Want = {
    bundleName: "com.samples.formmanagerdemo",
    abilityName: 'EntryFormAbility',
    parameters: {
    'ohos.extra.param.key.form_dimension': 2,
    'ohos.extra.param.key.form_name': 'widget',
    'ohos.extra.param.key.module_name': 'entry'
    },
    };
    try {
    // 点击按钮后调用openFormManager方法,拉起卡片管理页面
    formProvider.openFormManager(want);
    } catch (error) {
    promptAction.openToast({ message: (error as BusinessError).message });
    hilog.info(DOMAIN, 'testTag', 'catch error ', 'code:', (error as BusinessError).code, 'message:',
    (error as BusinessError).message);
    }
    })
    .margin({ top: 10, bottom: 10 })
    }
    .width('100%')
    }
    .height('100%')
    }
    }

    资源文件如下:

    // entry/src/main/resources/base/element/string.json
    {
    "string": [
    {
    "name": "open_form_manager_button",
    "value": "添加应用卡片到桌面"
    }
    ]
    }
  3. 用户可在卡片管理页面,点击“添加至桌面”或者“添加至负一屏”,此时在桌面或者负一屏即可看到新添加的卡片。结果示例如下。