Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Hmos Networkboost Kit Multipath Request Release

ASecurity

发起和释放多网请求,支持WiFi和蜂窝并发以及主卡和副卡并发,系统决定并发组合,最大支持配额限制,适用于网络加速、弱网环境优化场景

2 stars
0 votes
0 copies
0 views
Added 9/22/2026
developmenttypescriptapi

Works with

api

Security Analysis

A100/100

Scanned 9/22/2026

Install to Claude Code

$npx -y skills add IsKenKenYa/skills --skill hmos-networkboost-kit-multipath-request-release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hmos Networkboost Kit Multipath Request Release?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Hmos Networkboost Kit Multipath Request Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/iskenkenya-hmos-networkboost-kit-multipath-request-release/badge)](https://www.skillsdirectory.com/skills/iskenkenya-hmos-networkboost-kit-multipath-request-release)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SUB_SKILL.md
---
name: hmos-networkboost-kit-multipath-request-release
description: 发起和释放多网请求,支持WiFi和蜂窝并发以及主卡和副卡并发,系统决定并发组合,最大支持配额限制,适用于网络加速、弱网环境优化场景
---

# 多网发起和释放技能

## 功能描述

本技能实现HarmonyOS Network Boost Kit的多网发起和释放功能,应用可根据业务需求发起多网络加速请求,并在使用结束后及时释放。支持WiFi和蜂窝并发以及主卡和副卡并发,并发组合由系统决定,不支持开发者指定。

**核心能力**:
- 发起多网请求,通过回调获取请求结果
- 释放多网请求,释放网络资源
- 监听多网状态变化,获取实时状态信息
- 查询多网配额使用情况

**系统限制**:
- 主卡和副卡并发需开启智能切换上网卡开关
- 受限于硬件,部分设备不支持双卡场景下的多网并发
- 如果传输协议接口不支持指定网络,新发起的网络无法使用
- 需要开启网络加速开关(设置->移动网络->网络加速->允许使用移动数据加速网络)

## 使用场景

### 触发词
- "发起多网"
- "多网请求"
- "释放多网"
- "多网并发"
- "WiFi蜂窝并发"
- "网络加速"

### 能做
- 发起WiFi和蜂窝并发请求
- 发起主卡和副卡并发请求
- 监听多网状态变化
- 查询多网配额使用情况
- 及时释放多网资源

### 绝不做
- 不支持开发者指定并发组合(由系统决定)
- 不支持在不支持多网并发设备上使用
- 不支持HTTP等不支持指定网络的传输协议
- 不支持主副卡同运营商卡的并发场景

### 补充
- 需要申请ohos.permission.LINKTURBO权限
- API版本要求:6.0.0(20)及以上
- 需要设备支持网络加速功能
- 建议在弱网环境或需要高速下载场景使用

## 调用规范和规则

### 输入约束
- 回调函数必须为有效的Callback类型
- 参数类型必须符合API定义
- 应用必须在前台运行状态

### 执行约束
- 最大并发请求次数:受配额限制
- 最大并发时长:受配额限制
- API调用频次:避免频繁调用(错误码1013620006)

### 内容约束
- 禁止在不支持多网设备上调用
- 禁止在后台长时间持有多网资源
- 禁止忽略错误处理和降级方案
- 禁止使用不支持指定网络的传输协议

### 降级约束
- 多网请求失败:回退到单网络模式
- 权限不足:提示用户授权
- 设备不支持:提示设备限制
- 配额耗尽:等待配额恢复或降级处理

## 调用流程和步骤

### 步骤1:准备阶段

**前置校验**:
1. 检查设备是否支持网络加速功能
2. 检查网络加速开关是否开启
3. 检查ohos.permission.LINKTURBO权限是否已申请
4. 检查API版本是否满足要求(6.0.0(20)及以上)

**参数准备**:
```typescript
// ArkTS示例
import { netHandover } from '@kit.NetworkBoostKit';
import { BusinessError } from '@kit.BasicServicesKit';
```

### 步骤2:发起多网请求

**示例代码**:
```typescript
// 发起多网请求,同步监听多网状态
try {
  netHandover.requestMultiPath((data: netHandover.MultiPathRequestResult) => {
    console.info('requestMultiPath result:' + JSON.stringify(data));
    // 处理请求结果
    if (data.result === netHandover.MultiPathErrorResult.MULTIPATH_ERROR_NONE) {
      console.info('多网请求成功');
      // 开始使用多网进行数据传输
    } else {
      console.error('多网请求失败,错误码:' + data.result);
      // 执行降级方案
    }
  });
} catch (err) {
  console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
  // 异常处理
}
```

### 步骤3:监听多网状态变化

**示例代码**:
```typescript
// 订阅多网状态变化事件
try {
  netHandover.on('multiPathStateChange', (data: netHandover.MultiPathStateInfo) => {
    console.info('on multiPathStateChange: ' + JSON.stringify(data));
    // 处理状态变化
    switch (data.multiPathState) {
      case netHandover.MultiPathState.MULTIPATH_CREATED:
        console.info('多网已建立');
        break;
      case netHandover.MultiPathState.MULTIPATH_IDLE:
        console.info('多网处于空闲状态');
        break;
      case netHandover.MultiPathState.MULTIPATH_RELEASING:
        console.info('多网正在释放中');
        break;
    }
  });
} catch (err) {
  console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
}
```

### 步骤4:查询配额使用情况

**示例代码**:
```typescript
// 查询当前应用多网使用的配额
try {
  let multiquota: netHandover.MultiPathQuota = netHandover.getMultiPathQuotaStats();
  console.info('已使用次数: ' + multiquota.used.count);
  console.info('已使用时长: ' + multiquota.used.duration + '秒');
  console.info('剩余次数: ' + multiquota.remaining.count);
  console.info('剩余时长: ' + multiquota.remaining.duration + '秒');
} catch (err) {
  console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
}
```

### 步骤5:释放多网

**示例代码**:
```typescript
// 当应用业务流程结束,释放多网
try {
  netHandover.releaseMultiPath();
  console.info('多网已释放');
} catch (err) {
  console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
}
```

### 步骤6:取消订阅状态变化

**示例代码**:
```typescript
// 取消订阅多网状态变化事件
try {
  netHandover.off('multiPathStateChange');
  console.info('已取消订阅多网状态变化');
} catch (err) {
  console.error('errCode: ' + (err as BusinessError).code + ', errMessage: ' + (err as BusinessError).message);
}
```

### 步骤7:错误处理

```typescript
// 统一错误处理
try {
  netHandover.requestMultiPath((data: netHandover.MultiPathRequestResult) => {
    // 处理请求结果
  });
} catch (err) {
  const error = err as BusinessError;
  switch (error.code) {
    case 201:
      console.error('权限校验失败,请检查是否申请了ohos.permission.LINKTURBO权限');
      break;
    case 1013600001:
      console.error('内部处理异常,请稍后重试');
      break;
    case 1013600002:
      console.error('系统处理异常,IPC跨进程调用失败');
      break;
    case 1013620000:
      console.error('多网功能没有使能,请检查网络加速开关');
      break;
    case 1013620001:
      console.error('多网已经激活或正在激活过程中');
      break;
    case 1013620002:
      console.error('应用多网请求已达到上限');
      break;
    case 1013620003:
      console.error('功耗限制不允许发起多网');
      break;
    case 1013620004:
      console.error('限额耗尽,请等待配额恢复');
      break;
    case 1013620005:
      console.error('多网请求场景冲突');
      break;
    case 1013620006:
      console.error('多网发起太频繁,请降低调用频次');
      break;
    case 1013620007:
      console.error('没有合适的多网链路可用');
      break;
    case 1013620008:
      console.error('流量不足');
      break;
    case 1013620009:
      console.error('设备不支持并发');
      break;
    default:
      console.error('未知错误:' + error.code + ', ' + error.message);
  }
}
```

### 步骤8:降级处理

```typescript
// 降级处理示例
async function requestMultiPathWithFallback(): Promise<void> {
  try {
    // 尝试发起多网请求
    netHandover.requestMultiPath((data: netHandover.MultiPathRequestResult) => {
      if (data.result !== netHandover.MultiPathErrorResult.MULTIPATH_ERROR_NONE) {
        console.warn('多网请求失败,降级到单网络模式');
        // 使用单网络模式继续业务
        useSingleNetwork();
      }
    });
  } catch (err) {
    const error = err as BusinessError;
    if (error.code === 201) {
      // 权限不足,提示用户授权
      console.warn('权限不足,请申请ohos.permission.LINKTURBO权限');
      requestPermission();
    } else if (error.code === 1013620009) {
      // 设备不支持,使用单网络模式
      console.warn('设备不支持多网并发,使用单网络模式');
      useSingleNetwork();
    } else {
      // 其他错误,降级处理
      console.warn('多网请求异常,降级到单网络模式');
      useSingleNetwork();
    }
  }
}

// 单网络模式降级方案
function useSingleNetwork(): void {
  console.info('使用单网络模式继续业务');
  // 实现单网络模式下的数据传输逻辑
}
```

## 错误码说明

### 通用错误码

| 错误码 | 说明 | 解决方法 |
|-------|------|---------|
| 201 | 权限校验失败 | 申请ohos.permission.LINKTURBO权限 |
| 401 | 参数检查失败 | 检查参数类型和有效性 |
| 801 | 设备不支持该API | 检查设备API版本是否满足要求 |

### 专用错误码(requestMultiPath)

| 错误码 | 说明 | 解决方法 |
|-------|------|---------|
| 1013600001 | 内部处理异常 | 稍后重试 |
| 1013600002 | 系统处理异常 | 检查网络管理服务状态 |
| 1013620000 | 多网功能没有使能 | 开启网络加速开关 |
| 1013620001 | 多网已经激活或正在激活 | 等待当前请求完成 |
| 1013620002 | 应用多网请求已达上限 | 等待配额恢复 |
| 1013620003 | 功耗限制不允许发起多网 | 降低应用功耗或等待 |
| 1013620004 | 限额耗尽 | 等待配额恢复 |
| 1013620005 | 多网请求场景冲突 | 检查是否有冲突场景 |
| 1013620006 | 多网发起太频繁 | 降低调用频次 |
| 1013620007 | 没有合适的多网链路可用 | 检查网络环境 |
| 1013620008 | 流量不足 | 检查流量余额 |
| 1013620009 | 不支持并发 | 使用单网络模式 |

### 专用错误码(releaseMultiPath)

| 错误码 | 说明 | 解决方法 |
|-------|------|---------|
| 1013600001 | 内部处理异常 | 稍后重试 |
| 1013600002 | 系统处理异常 | 检查网络管理服务状态 |
| 1013620100 | 多网已激活但不是当前应用发起的 | 检查多网状态 |
| 1013620101 | 多网不在激活态 | 检查多网状态 |

## 编译和修复问题

### 依赖声明
```json
{
  "dependencies": {
    "@kit.NetworkBoostKit": "API 12+",
    "@kit.BasicServicesKit": "API 12+"
  }
}
```

### 权限配置
在module.json5中添加权限声明:
```json
{
  "module": {
    "requestPermissions": [
      {
        "name": "ohos.permission.LINKTURBO",
        "reason": "用于发起多网请求和释放多网资源",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "inuse"
        }
      }
    ]
  }
}
```

### 环境要求
- HarmonyOS API版本:6.0.0(20)及以上
- 设备需支持网络加速功能
- 需开启网络加速开关

### 常见编译问题

**问题1:导入模块失败**
```
Error: Cannot find module '@kit.NetworkBoostKit'
```
**解决方法**:确保HarmonyOS API版本满足要求(6.0.0(20)及以上),检查项目配置

**问题2:权限未配置**
```
Error: Permission denied
```
**解决方法**:在module.json5中添加ohos.permission.LINKTURBO权限声明

**问题3:设备不支持**
```
Error: Device does not support this API
```
**解决方法**:检查设备API版本和硬件支持情况,使用单网络模式降级方案

## 常见问题与解决方法

### Q1:多网请求失败,提示"多网功能没有使能"
**原因**:网络加速开关未开启
**解决方法**:
- 检查设置->移动网络->网络加速->允许使用移动数据加速网络是否开启
- 如果没有该开关,说明当前设备/ROM不支持多网并发能力

### Q2:主卡和副卡并发失败
**原因**:主副卡不满足并发条件
**解决方法**:
- 检查智能切换上网卡开关是否开启
- 检查主副卡是否为同运营商卡(不支持并发)
- 检查主副卡驻留网络的频点是否满足并发条件

### Q3:多网请求成功但无法使用
**原因**:传输协议不支持指定网络
**解决方法**:
- 检查使用的传输协议是否支持指定网络
- HTTP当前只支持默认网络传输,不支持指定网络
- 使用支持指定网络的传输协议

### Q4:多网请求频繁失败
**原因**:调用频次过高或配额耗尽
**解决方法**:
- 降低多网请求调用频次
- 使用getMultiPathQuotaStats查询配额使用情况
- 等待配额恢复后再发起请求

### Q5:应用切换到后台后多网被释放
**原因**:系统检测到应用使用不规范
**解决方法**:
- 及时释放多网资源,避免长时间持有
- 在应用切换到后台前主动释放多网
- 监听多网状态变化,及时处理释放事件

## 输出结果报告

执行完成后输出以下信息:

```json
{
  "status": "success",
  "operation": "多网发起和释放",
  "apiUsed": [
    "netHandover.requestMultiPath",
    "netHandover.releaseMultiPath",
    "netHandover.on('multiPathStateChange')",
    "netHandover.off('multiPathStateChange')",
    "netHandover.getMultiPathQuotaStats"
  ],
  "quotaInfo": {
    "usedCount": "已使用次数",
    "usedDuration": "已使用时长(秒)",
    "remainingCount": "剩余次数",
    "remainingDuration": "剩余时长(秒)"
  },
  "multiPathState": "多网状态",
  "result": "请求结果"
}
```

## 参考文档

- [API开发指南](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/networkboost-netmultipath-request-release)
- [API参考说明](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/networkboost-nethandover)
- [错误码说明](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/networkboost-arkts-errorcode)
- [通用错误码](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/errorcode-universal)

## 完整示例代码

- [ArkTS示例](assets/example_multipath.ets)
- [完整示例项目](assets/multipath_example_project.zip)

## 测试用例

### 正向测试用例
- [发起多网请求成功](tests/test_request_success.ets):正常场景下的多网请求
- [释放多网成功](tests/test_release_success.ets):正常场景下的多网释放
- [查询配额成功](tests/test_quota_success.ets):正常场景下的配额查询
- [监听状态变化成功](tests/test_state_listener.ets):正常场景下的状态监听

### 边界测试用例
- [配额耗尽场景](tests/test_quota_exhausted.ets):配额耗尽时的处理
- [频繁调用场景](tests/test_frequent_call.ets):频繁调用时的处理
- [后台切换场景](tests/test_background_switch.ets):应用切换到后台时的处理

### 异常测试用例
- [权限不足场景](tests/test_permission_denied.ets):缺少权限时的处理
- [设备不支持场景](tests/test_device_unsupported.ets):设备不支持时的降级处理
- [网络异常场景](tests/test_network_error.ets):网络异常时的处理
- [参数错误场景](tests/test_param_error.ets):参数错误时的处理

Attribution

IsKenKenYaIsKenKenYa
View sourceMore from IsKenKenYa →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

284072 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2192 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →