获取诈骗应用
======

#### 场景介绍

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

#### 约束与限制

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

#### 业务流程

![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d5/v3/R5dDbPqDQvOwB5yxuZME2g/zh-cn_image_0000002664208219.png?HW-CC-KV=V1&HW-CC-Date=20260709T132417Z&HW-CC-Expire=86400&HW-CC-Sign=80B97DE7C584E74DE91C9A5C6A09F512F0E726D3CEA90BEBFDB88252A1704B9C)

**流程说明：**

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

#### 接口说明

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

| 接口名 | 描述 |
| :-- | :-- |
| selectFraudApp(context: common.Context, options?: AntifraudAppOptions): Promise<AntifraudAppResult> | 获取诈骗应用信息。 |

#### 开发步骤

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

*   在开发准备过程中，需要申请权限：ohos.permission.USE\_FRAUD\_APP\_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.  调用selectFraudApp接口获取诈骗应用信息。
    
    const TAG = "AntifraudPickerJsTest";
    
    // 请求获取诈骗应用信息，并进行业务处理
    let options: antifraudPicker.AntifraudAppOptions = {
      maxSelectNumber: 5
    };
    try {
      hilog.info(0x0000, TAG, 'SelectFraudApp begin.');
      let context = this.getUIContext().getHostContext();
      const result: antifraudPicker.AntifraudAppResult = await antifraudPicker.selectFraudApp(context, options);
    } catch (err) {
      let e: BusinessError = err as BusinessError;
      hilog.error(0x0000, TAG, 'SelectFraudApp failed: %{public}d %{public}s', e.code, e.message);
    }