1e41f4b71Sopenharmony_ci# VpnExtensionContext 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciVpnExtensionContext是VpnExtensionAbility的上下文环境,继承自[ExtensionContext](../apis-ability-kit/js-apis-inner-application-extensionContext.md)。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciVpnExtensionContext可直接作为VpnExtension的上下文环境,提供允许访问特定于VpnExtensionAbility的资源的能力。 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci> **说明:** 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 10e41f4b71Sopenharmony_ci> 本模块接口仅可在Stage模型下使用。 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci## 导入模块 13e41f4b71Sopenharmony_ci```ts 14e41f4b71Sopenharmony_ciimport { VpnExtensionAbility } from '@kit.NetworkKit'; 15e41f4b71Sopenharmony_ci``` 16e41f4b71Sopenharmony_ci## 使用说明 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci通过VpnExtensionAbility子类实例来获取。 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci```ts 21e41f4b71Sopenharmony_ciimport { VpnExtensionAbility, vpnExtension } from '@kit.NetworkKit'; 22e41f4b71Sopenharmony_ciimport { Want } from '@kit.AbilityKit'; 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ciexport default class MyVpnExtAbility extends VpnExtensionAbility { 25e41f4b71Sopenharmony_ci private vpnServerIp: string = 'xxx.xxx.x.x'; 26e41f4b71Sopenharmony_ci private tunIp: string = 'x.x.x.x'; 27e41f4b71Sopenharmony_ci private blockedAppName: string = 'xxxx'; 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci onCreate(want: Want) { 30e41f4b71Sopenharmony_ci let VpnConnection: vpnExtension.VpnConnection = vpnExtension.createVpnConnection(this.context); 31e41f4b71Sopenharmony_ci console.info("vpn createVpnConnection: " + JSON.stringify(VpnConnection)); 32e41f4b71Sopenharmony_ci } 33e41f4b71Sopenharmony_ci} 34e41f4b71Sopenharmony_ci``` 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci## VpnExtensionAbility 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci三方VPN拓展能力。 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci**模型约束**:此接口仅可在Stage模型下使用。 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 45e41f4b71Sopenharmony_ci|------| ------------------------------------------------------------ | ---- | -------------- | 46e41f4b71Sopenharmony_ci| context | [VpnExtensionContext](js-apis-inner-application-VpnExtensionContext.md) | 是 | 指定 context。 | 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ci### onCreate 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_cionCreate(want: Want): void 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci拓展VPN启动初始化的时候进行回调。 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci**模型约束**:此接口仅可在Stage模型下使用。 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci**参数:** 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 62e41f4b71Sopenharmony_ci| ------ | ----------------------------------- | ---- |-----------| 63e41f4b71Sopenharmony_ci| want | [Want](../apis-ability-kit/js-apis-app-ability-want.md) | 是 | 指示要启动的信息。 | 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci### onDestroy 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_cionDestroy(): void 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ci拓展VPN销毁之前进行回调。 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci**模型约束**:此接口仅可在Stage模型下使用。 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci 78