三方VPN管理模块,支持三方VPN的启动和停止功能。
三方VPN是指由第三方提供的VPN服务,它们通常提供更多的功能和更广泛的网络连接选项,包括更多的安全和隐私功能,以及更全面的定制选项。
说明
本模块首批接口从 API version 11 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { vpnExtension } from '@kit.NetworkKit';
LinkAddress11+
type LinkAddress = connection.LinkAddress
获取网络链接信息。
系统能力:SystemCapability.Communication.NetManager.Core
类型 | 说明 |
---|---|
[connection.LinkAddress] | 网络链路信息 |
RouteInfo11+
type RouteInfo = connection.RouteInfo
获取网络路由信息。
系统能力:SystemCapability.Communication.NetManager.Core
类型 | 说明 |
---|---|
[connection.RouteInfo] | 网络路由信息 |
VpnExtensionContext11+
type VpnExtensionContext = _VpnExtensionContext
vpn扩展的上下文。它允许访问serviceExtension特定资源。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
类型 | 说明 |
---|---|
[_VpnExtensionContext] | vpn扩展的上下文 |
vpnExtension.startVpnExtensionAbility
startVpnExtensionAbility(want: Want): Promise
启动新的三方vpn功能。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
模型约束:此接口仅可在Stage模型下使用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
want | [Want] | 是 | 指示要启动的信息。 |
返回值:
类型 | 说明 |
---|---|
Promise | 无返回值的Promise对象。 |
错误码:
错误码 ID | 错误信息 |
---|---|
401 | If the input parameter is not valid parameter. |
16000001 | The specified ability does not exist. |
16000002 | Incorrect ability type. |
16000006 | Cross-user operations are not allowed. |
16000008 | The crowdtesting application expires. |
16000011 | The context does not exist. |
16000050 | Internal error. |
16200001 | The caller has been released. |
示例:
Stage 模型示例:
import { common, Want } from '@kit.AbilityKit';
import { vpnExtension } from '@kit.NetworkKit';
let context = getContext(this) as common.VpnExtensionContext;
let want: Want = {
deviceId: "",
bundleName: "com.example.myvpndemo",
abilityName: "MyVpnExtAbility",
};
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold).onClick(() => {
console.info("btn click") })
Button('Start Extension').onClick(