获取诈骗通话记录
========

#### 场景介绍

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

#### 约束与限制

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

#### 业务流程

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/52/v3/Uwm9Mq5fRZKE3d7csD9x1Q/zh-cn_image_0000002634009070.png?HW-CC-KV=V1&HW-CC-Date=20260709T132417Z&HW-CC-Expire=86400&HW-CC-Sign=979DB60EE44B80065956D2D85703983FE5641E8CD26E88B62268DC71AF069DAC)

**流程说明：**

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

#### 接口说明

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

| 接口名 | 描述 |
| :-- | :-- |
| selectFraudCallLog(context: common.Context, options?: AntifraudCallLogOptions): Promise<AntifraudCallLogResult> | 获取诈骗通话记录信息。 |

#### 开发步骤

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/c7/v3/DVljiRR1TXu9c2yVDS6bWw/note_3.0-zh-cn.png?HW-CC-KV=V1&HW-CC-Date=20260709T132417Z&HW-CC-Expire=86400&HW-CC-Sign=CC3AD05B1E22AF836B5357A7B7C6BA7D4928513A60CB49DB467526F29732A1EE)

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

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