获取诈骗消息
======

#### 场景介绍

应用通过调用Device Security Kit的接口获取诈骗消息信息，用于反诈业务，比如对诈骗消息进行举报。

#### 约束与限制

当前能力仅支持手机、平板设备。仅提供给反诈类应用使用。

#### 业务流程

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/2d/v3/3HWUJqTnSbiv4s-05moonQ/zh-cn_image_0000002594828562.png?HW-CC-KV=V1&HW-CC-Date=20260612T073413Z&HW-CC-Expire=86400&HW-CC-Sign=A9A55416D99B71648E503572D9C366D2E39EEA793CAE21730F502F6BECD9B686)

**流程说明：**

1.  用户在开发者应用上选择举报诈骗消息功能。
    
2.  开发者应用调用Device Security Kit的接口拉起诈骗消息选择器。
    
3.  用户在诈骗消息选择器中选择诈骗消息。
    
4.  Device Security Kit调用回调函数通知开发者应用，开发者应用根据诈骗消息进行业务处理。
    

#### 接口说明

以下是获取诈骗消息相关接口，更多接口及使用方法请参见[API参考](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/devicesecurity-antifraudpicker-api)。

| 接口名 | 描述 |
| :-- | :-- |
| selectFraudMessage(context: common.Context, options?: AntifraudMessageOptions): Promise<AntifraudMessageResult> | 获取诈骗消息信息。 |

#### 开发步骤

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/9b/v3/nPkZgf7yQ9OYkxntY26_eg/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260612T073413Z&HW-CC-Expire=86400&HW-CC-Sign=1A5F300B3DA39043A8534AB7823310901F76D19DC18D09AADCFA4E48A140A062)

*   在开发准备过程中，需要申请权限：ohos.permission.USE\_FRAUD\_MESSAGES\_PICKER。
    
*   只允许清单内的应用申请该权限，申请方式请参考：[申请使用受限权限](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/declare-permissions-in-acl)
    
*   开发者需向用户说明数据使用的目的、方式和范围。
    

1.  导入Device Security Kit模块及相关公共模块。
    
    import { antifraudPicker} from '@kit.DeviceSecurityKit';
    import { BusinessError} from '@kit.BasicServicesKit';
    import { hilog } from '@kit.PerformanceAnalysisKit';
    import { common} from '@kit.AbilityKit';
    
2.  调用selectFraudMessage接口获取诈骗消息信息。
    
    const TAG = "AntifraudPickerJsTest";
    
    // 请求获取诈骗消息信息，并进行业务处理
    let options: antifraudPicker.AntifraudMessageOptions = {
      maxSelectNumber: 5
    };
    try {
      hilog.info(0x0000, TAG, 'SelectFraudMessage begin.');
      let context = this.getUIContext().getHostContext();
      const result: antifraudPicker.AntifraudMessageResult = await antifraudPicker.selectFraudMessage(context, options);
    } catch (err) {
      let e: BusinessError = err as BusinessError;
      hilog.error(0x0000, TAG, 'SelectFraudMessage failed: %{public}d %{public}s', e.code, e.message);
    }