# @ohos.application.StaticSubscriberExtensionContext (StaticSubscriberExtensionContext) StaticSubscriberExtensionContextæ¨¡å—æ˜¯StaticSubscriberExtensionAbility的上下文环境,继承自ExtensionContext。 StaticSubscriberExtensionContextæ¨¡å—æä¾›StaticSubscriberExtensionAbility具有的接å£å’Œèƒ½åŠ›ã€‚ > **说明:** > > 本模å—首批接å£ä»ŽAPI version 10开始支æŒã€‚åŽç»ç‰ˆæœ¬çš„æ–°å¢žæŽ¥å£ï¼Œé‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°æŽ¥å£çš„起始版本。 > > æœ¬æ¨¡å—æŽ¥å£ä»…å¯åœ¨Stage模型下使用。 > > æœ¬æ¨¡å—æŽ¥å£å‡ä¸ºç³»ç»ŸæŽ¥å£ã€‚ ## å¯¼å…¥æ¨¡å— ```ts import { StaticSubscriberExtensionContext } from '@kit.BasicServicesKit'; ``` ## 使用说明 在使用StaticSubscriberExtensionContext的功能å‰ï¼Œéœ€è¦é€šè¿‡StaticSubscriberExtensionAbility获å–。 ```ts import { StaticSubscriberExtensionAbility, StaticSubscriberExtensionContext } from '@kit.BasicServicesKit'; ``` ## StaticSubscriberExtensionContext.startAbility startAbility(want: Want, callback: AsyncCallback<void>): void; æ‹‰èµ·ä¸€ä¸ªé™æ€è®¢é˜…所属的åŒåº”用的Ability。使用callback异æ¥å›žè°ƒã€‚ 使用规则: - 调用方应用ä½äºŽåŽå°æ—¶ï¼Œä½¿ç”¨è¯¥æŽ¥å£å¯åЍAbility需申请`ohos.permission.START_ABILITIES_FROM_BACKGROUND`æƒé™ - è·¨åº”ç”¨åœºæ™¯ä¸‹ï¼Œç›®æ ‡Abilityçš„visible属性若é…置为false,调用方应用需申请`ohos.permission.START_INVISIBLE_ABILITY`æƒé™ **éœ€è¦æƒé™**:ohos.permission.START_ABILITIES_FROM_BACKGROUND **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统应用**:该接å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | -------- | ----------------------------------- | ---- | -------------------------- | | want | [Want](../apis-ability-kit/js-apis-wantAgent.md) | 是 | å¯åЍAbilityçš„wantä¿¡æ¯ã€‚ | | callback | AsyncCallback<void> | 是 | callbackå½¢å¼è¿”回å¯åŠ¨ç»“æžœã€‚ | **错误ç :** | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ------------------------------------------------------------ | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 16000001 | The specified ability does not exist. | | 16000002 | Incorrect ability type. | | 16000004 | Can not start invisible component. | | 16000005 | The specified process does not have the permission. | | 16000006 | Cross-user operations are not allowed. | | 16000008 | The crowdtesting application expires. | | 16000009 | An ability cannot be started or stopped in Wukong mode. | | 16000011 | The context does not exist. | | 16000050 | Internal error. | | 16000053 | The ability is not on the top of the UI. | | 16000055 | Installation-free timed out. | | 16200001 | The caller has been released. | | 16300003 | The target application is not self application. | 以上错误ç 详细介ç»è¯·å‚考[元能力å系统错误ç ](../apis-ability-kit/errorcode-ability.md)。 **示例:** ```ts import { commonEventManager, BusinessError } from '@kit.BasicServicesKit'; import { Want } from '@kit.AbilityKit'; let want: Want = { bundleName: "com.example.myapp", abilityName: "MyAbility" }; class MyStaticSubscriberExtensionAbility extends StaticSubscriberExtensionAbility { onReceiveEvent(event: commonEventManager.CommonEventData) { console.log(`onReceiveEvent, event: ${JSON.stringify(event)}`); try { this.context.startAbility(want, (error: BusinessError) => { if (error) { // 处ç†ä¸šåŠ¡é€»è¾‘é”™è¯¯ console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) + ' error.message: ' + JSON.stringify(error.message)); return; } // 执行æ£å¸¸ä¸šåŠ¡ console.log('startAbility succeed'); }); } catch (paramError) { // 处ç†å…¥å‚错误异常 let code = (paramError as BusinessError).code; let message = (paramError as BusinessError).message; console.log('startAbility failed, error.code: ' + JSON.stringify(code) + ' error.message: ' + JSON.stringify(message)); } } } ``` ## StaticSubscriberExtensionContext.startAbility startAbility(want: Want): Promise<void>; æ‹‰èµ·ä¸€ä¸ªé™æ€è®¢é˜…所属的åŒåº”用的Ability。使用Promise异æ¥å›žè°ƒã€‚ 使用规则: - 调用方应用ä½äºŽåŽå°æ—¶ï¼Œä½¿ç”¨è¯¥æŽ¥å£å¯åЍAbility需申请`ohos.permission.START_ABILITIES_FROM_BACKGROUND`æƒé™ - è·¨åº”ç”¨åœºæ™¯ä¸‹ï¼Œç›®æ ‡Abilityçš„visible属性若é…置为false,调用方应用需申请`ohos.permission.START_INVISIBLE_ABILITY`æƒé™ **éœ€è¦æƒé™**:ohos.permission.START_ABILITIES_FROM_BACKGROUND **系统能力**:SystemCapability.Ability.AbilityRuntime.Core **系统应用**:该接å£ä¸ºç³»ç»ŸæŽ¥å£ã€‚ **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ------ | ----------------------------------- | ---- | ----------------------- | | want | [Want](../apis-ability-kit/js-apis-wantAgent.md) | 是 | å¯åЍAbilityçš„wantä¿¡æ¯ã€‚ | **返回值:** | 类型 | 说明 | | ------------------- | ------------------------- | | Promise<void> | Promiseå½¢å¼è¿”回å¯åŠ¨ç»“æžœã€‚ | **错误ç :** | 错误ç ID | é”™è¯¯ä¿¡æ¯ | | -------- | ------------------------------------------------------------ | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. 3.Parameter verification failed. | | 16000001 | The specified ability does not exist. | | 16000002 | Incorrect ability type. | | 16000004 | Can not start invisible component. | | 16000005 | The specified process does not have the permission. | | 16000006 | Cross-user operations are not allowed. | | 16000008 | The crowdtesting application expires. | | 16000009 | An ability cannot be started or stopped in Wukong mode. | | 16000011 | The context does not exist. | | 16000050 | Internal error. | | 16000053 | The ability is not on the top of the UI. | | 16000055 | Installation-free timed out. | | 16200001 | The caller has been released. | | 16300003 | The target application is not self application. | 以上错误ç 详细介ç»è¯·å‚考[元能力å系统错误ç ](../apis-ability-kit/errorcode-ability.md)。 **示例:** ```ts import { commonEventManager, BusinessError } from '@kit.BasicServicesKit'; import { Want } from '@kit.AbilityKit'; let want: Want = { bundleName: "com.example.myapp", abilityName: "MyAbility" }; class MyStaticSubscriberExtensionAbility extends StaticSubscriberExtensionAbility { onReceiveEvent(event: commonEventManager.CommonEventData) { console.log(`onReceiveEvent, event: ${JSON.stringify(event)}`); try { this.context.startAbility(want) .then(() => { // 执行æ£å¸¸ä¸šåŠ¡ console.log('startAbility succeed'); }) .catch((error: BusinessError) => { // 处ç†ä¸šåŠ¡é€»è¾‘é”™è¯¯ console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) + ' error.message: ' + JSON.stringify(error.message)); }); } catch (paramError) { // 处ç†å…¥å‚错误异常 let code = (paramError as BusinessError).code; let message = (paramError as BusinessError).message; console.log('startAbility failed, error.code: ' + JSON.stringify(code) + ' error.message: ' + JSON.stringify(message)); } } } ```