161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"), 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit AbilityKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport Ability from './@ohos.app.ability.Ability'; 2261847f8eSopenharmony_ciimport AbilityConstant from './@ohos.app.ability.AbilityConstant'; 2361847f8eSopenharmony_ciimport UIAbilityContext from './application/UIAbilityContext'; 2461847f8eSopenharmony_ciimport rpc from './@ohos.rpc'; 2561847f8eSopenharmony_ciimport Want from './@ohos.app.ability.Want'; 2661847f8eSopenharmony_ciimport window from './@ohos.window'; 2761847f8eSopenharmony_ci 2861847f8eSopenharmony_ci/** 2961847f8eSopenharmony_ci * The prototype of the listener function interface registered by the Caller. 3061847f8eSopenharmony_ci * 3161847f8eSopenharmony_ci * @typedef OnReleaseCallback 3261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 3361847f8eSopenharmony_ci * @StageModelOnly 3461847f8eSopenharmony_ci * @since 9 3561847f8eSopenharmony_ci */ 3661847f8eSopenharmony_ciexport interface OnReleaseCallback { 3761847f8eSopenharmony_ci/** 3861847f8eSopenharmony_ci * Defines the callback of OnRelease. 3961847f8eSopenharmony_ci * 4061847f8eSopenharmony_ci * @param { string } msg - The notification event string listened to by the OnRelease. 4161847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 4261847f8eSopenharmony_ci * @StageModelOnly 4361847f8eSopenharmony_ci * @since 9 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_ci (msg: string): void; 4661847f8eSopenharmony_ci} 4761847f8eSopenharmony_ci 4861847f8eSopenharmony_ci/** 4961847f8eSopenharmony_ci * The prototype of the listener function interface registered by the Caller. 5061847f8eSopenharmony_ci * 5161847f8eSopenharmony_ci * @typedef OnRemoteStateChangeCallback 5261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 5361847f8eSopenharmony_ci * @StageModelOnly 5461847f8eSopenharmony_ci * @since 10 5561847f8eSopenharmony_ci */ 5661847f8eSopenharmony_ciexport interface OnRemoteStateChangeCallback { 5761847f8eSopenharmony_ci/** 5861847f8eSopenharmony_ci * Defines the callback of OnRemoteStateChange. 5961847f8eSopenharmony_ci * 6061847f8eSopenharmony_ci * @param { string } msg - The notification event string listened to by the OnRemoteStateChange. 6161847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 6261847f8eSopenharmony_ci * @StageModelOnly 6361847f8eSopenharmony_ci * @since 10 6461847f8eSopenharmony_ci */ 6561847f8eSopenharmony_ci (msg: string): void; 6661847f8eSopenharmony_ci} 6761847f8eSopenharmony_ci 6861847f8eSopenharmony_ci/** 6961847f8eSopenharmony_ci * The prototype of the message listener function interface registered by the Callee. 7061847f8eSopenharmony_ci * 7161847f8eSopenharmony_ci * @typedef CalleeCallback 7261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 7361847f8eSopenharmony_ci * @StageModelOnly 7461847f8eSopenharmony_ci * @since 9 7561847f8eSopenharmony_ci */ 7661847f8eSopenharmony_ciexport interface CalleeCallback { 7761847f8eSopenharmony_ci/** 7861847f8eSopenharmony_ci * Defines the callback of Callee. 7961847f8eSopenharmony_ci * 8061847f8eSopenharmony_ci * @param { rpc.MessageSequence } indata - Notification indata to the callee. 8161847f8eSopenharmony_ci * @returns { rpc.Parcelable } Returns the callee's notification result indata. 8261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 8361847f8eSopenharmony_ci * @StageModelOnly 8461847f8eSopenharmony_ci * @since 9 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci (indata: rpc.MessageSequence): rpc.Parcelable; 8761847f8eSopenharmony_ci} 8861847f8eSopenharmony_ci 8961847f8eSopenharmony_ci/** 9061847f8eSopenharmony_ci * The interface of a Caller. 9161847f8eSopenharmony_ci * 9261847f8eSopenharmony_ci * @interface Caller 9361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 9461847f8eSopenharmony_ci * @StageModelOnly 9561847f8eSopenharmony_ci * @since 9 9661847f8eSopenharmony_ci */ 9761847f8eSopenharmony_ciexport interface Caller { 9861847f8eSopenharmony_ci /** 9961847f8eSopenharmony_ci * Notify the server of Parcelable type data. 10061847f8eSopenharmony_ci * 10161847f8eSopenharmony_ci * @param { string } method - The notification event string listened to by the callee. 10261847f8eSopenharmony_ci * @param { rpc.Parcelable } data - Notification data to the callee. 10361847f8eSopenharmony_ci * @returns { Promise<void> } The promise returned by the function. 10461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 10561847f8eSopenharmony_ci * 2. Incorrect parameter types. 10661847f8eSopenharmony_ci * @throws { BusinessError } 16200001 - Caller released. The caller has been released. 10761847f8eSopenharmony_ci * @throws { BusinessError } 16200002 - The callee does not exist. 10861847f8eSopenharmony_ci * @throws { BusinessError } 16000050 - Internal error. 10961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 11061847f8eSopenharmony_ci * @StageModelOnly 11161847f8eSopenharmony_ci * @since 9 11261847f8eSopenharmony_ci */ 11361847f8eSopenharmony_ci call(method: string, data: rpc.Parcelable): Promise<void>; 11461847f8eSopenharmony_ci 11561847f8eSopenharmony_ci /** 11661847f8eSopenharmony_ci * Notify the server of Parcelable type data and return the notification result. 11761847f8eSopenharmony_ci * 11861847f8eSopenharmony_ci * @param { string } method - The notification event string listened to by the callee. 11961847f8eSopenharmony_ci * @param { rpc.Parcelable } data - Notification data to the callee. 12061847f8eSopenharmony_ci * @returns { Promise<rpc.MessageSequence> } Returns the callee's notification result data. 12161847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 12261847f8eSopenharmony_ci * 2. Incorrect parameter types. 12361847f8eSopenharmony_ci * @throws { BusinessError } 16200001 - Caller released. The caller has been released. 12461847f8eSopenharmony_ci * @throws { BusinessError } 16200002 - The callee does not exist. 12561847f8eSopenharmony_ci * @throws { BusinessError } 16000050 - Internal error. 12661847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 12761847f8eSopenharmony_ci * @StageModelOnly 12861847f8eSopenharmony_ci * @since 9 12961847f8eSopenharmony_ci */ 13061847f8eSopenharmony_ci callWithResult(method: string, data: rpc.Parcelable): Promise<rpc.MessageSequence>; 13161847f8eSopenharmony_ci 13261847f8eSopenharmony_ci /** 13361847f8eSopenharmony_ci * Register the generic component server Stub (stub) disconnect listening notification. 13461847f8eSopenharmony_ci * 13561847f8eSopenharmony_ci * @throws { BusinessError } 16200001 - Caller released. The caller has been released. 13661847f8eSopenharmony_ci * @throws { BusinessError } 16200002 - The callee does not exist. 13761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 13861847f8eSopenharmony_ci * @StageModelOnly 13961847f8eSopenharmony_ci * @since 9 14061847f8eSopenharmony_ci */ 14161847f8eSopenharmony_ci release(): void; 14261847f8eSopenharmony_ci 14361847f8eSopenharmony_ci /** 14461847f8eSopenharmony_ci * Register death listener notification callback. 14561847f8eSopenharmony_ci * 14661847f8eSopenharmony_ci * @param { OnReleaseCallback } callback - Register a callback function for listening for notifications. 14761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 14861847f8eSopenharmony_ci * 2. Incorrect parameter types. 14961847f8eSopenharmony_ci * @throws { BusinessError } 16200001 - Caller released. The caller has been released. 15061847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 15161847f8eSopenharmony_ci * @StageModelOnly 15261847f8eSopenharmony_ci * @since 9 15361847f8eSopenharmony_ci */ 15461847f8eSopenharmony_ci onRelease(callback: OnReleaseCallback): void; 15561847f8eSopenharmony_ci 15661847f8eSopenharmony_ci /** 15761847f8eSopenharmony_ci * Register state changed listener notification callback of remote ability. 15861847f8eSopenharmony_ci * 15961847f8eSopenharmony_ci * @param { OnRemoteStateChangeCallback } callback - Register a callback function for listening for notifications. 16061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 16161847f8eSopenharmony_ci * 2. Incorrect parameter types. 16261847f8eSopenharmony_ci * @throws { BusinessError } 16200001 - Caller released. The caller has been released. 16361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 16461847f8eSopenharmony_ci * @StageModelOnly 16561847f8eSopenharmony_ci * @since 10 16661847f8eSopenharmony_ci */ 16761847f8eSopenharmony_ci onRemoteStateChange(callback: OnRemoteStateChangeCallback): void; 16861847f8eSopenharmony_ci 16961847f8eSopenharmony_ci /** 17061847f8eSopenharmony_ci * Register death listener notification callback. 17161847f8eSopenharmony_ci * 17261847f8eSopenharmony_ci * @param { 'release' } type - release. 17361847f8eSopenharmony_ci * @param { OnReleaseCallback } callback - Register a callback function for listening for notifications. 17461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 17561847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 17661847f8eSopenharmony_ci * @throws { BusinessError } 16200001 - Caller released. The caller has been released. 17761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 17861847f8eSopenharmony_ci * @StageModelOnly 17961847f8eSopenharmony_ci * @since 9 18061847f8eSopenharmony_ci */ 18161847f8eSopenharmony_ci on(type: 'release', callback: OnReleaseCallback): void; 18261847f8eSopenharmony_ci 18361847f8eSopenharmony_ci /** 18461847f8eSopenharmony_ci * Unregister death listener notification callback. 18561847f8eSopenharmony_ci * 18661847f8eSopenharmony_ci * @param { 'release' } type - release. 18761847f8eSopenharmony_ci * @param { OnReleaseCallback } callback - Unregister a callback function for listening for notifications. 18861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 18961847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 19061847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 19161847f8eSopenharmony_ci * @StageModelOnly 19261847f8eSopenharmony_ci * @since 9 19361847f8eSopenharmony_ci */ 19461847f8eSopenharmony_ci off(type: 'release', callback: OnReleaseCallback): void; 19561847f8eSopenharmony_ci 19661847f8eSopenharmony_ci /** 19761847f8eSopenharmony_ci * Unregister all death listener notification callback. 19861847f8eSopenharmony_ci * 19961847f8eSopenharmony_ci * @param { 'release' } type - release. 20061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 20161847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 20261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 20361847f8eSopenharmony_ci * @StageModelOnly 20461847f8eSopenharmony_ci * @since 9 20561847f8eSopenharmony_ci */ 20661847f8eSopenharmony_ci off(type: 'release'): void; 20761847f8eSopenharmony_ci} 20861847f8eSopenharmony_ci 20961847f8eSopenharmony_ci/** 21061847f8eSopenharmony_ci * The interface of a Callee. 21161847f8eSopenharmony_ci * 21261847f8eSopenharmony_ci * @interface Callee 21361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 21461847f8eSopenharmony_ci * @StageModelOnly 21561847f8eSopenharmony_ci * @since 9 21661847f8eSopenharmony_ci */ 21761847f8eSopenharmony_ciexport interface Callee { 21861847f8eSopenharmony_ci /** 21961847f8eSopenharmony_ci * Register data listener callback. 22061847f8eSopenharmony_ci * 22161847f8eSopenharmony_ci * @param { string } method - A string registered to listen for notification events. 22261847f8eSopenharmony_ci * @param { CalleeCallback } callback - Register a callback function that listens for notification events. 22361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 22461847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 22561847f8eSopenharmony_ci * @throws { BusinessError } 16200004 - The method has been registered. 22661847f8eSopenharmony_ci * @throws { BusinessError } 16000050 - Internal error. 22761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 22861847f8eSopenharmony_ci * @StageModelOnly 22961847f8eSopenharmony_ci * @since 9 23061847f8eSopenharmony_ci */ 23161847f8eSopenharmony_ci on(method: string, callback: CalleeCallback): void; 23261847f8eSopenharmony_ci 23361847f8eSopenharmony_ci /** 23461847f8eSopenharmony_ci * Unregister data listener callback. 23561847f8eSopenharmony_ci * 23661847f8eSopenharmony_ci * @param { string } method - A string registered to listen for notification events. 23761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 23861847f8eSopenharmony_ci * 2. Incorrect parameter types; 3. Parameter verification failed. 23961847f8eSopenharmony_ci * @throws { BusinessError } 16200005 - The method has not been registered. 24061847f8eSopenharmony_ci * @throws { BusinessError } 16000050 - Internal error. 24161847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 24261847f8eSopenharmony_ci * @StageModelOnly 24361847f8eSopenharmony_ci * @since 9 24461847f8eSopenharmony_ci */ 24561847f8eSopenharmony_ci off(method: string): void; 24661847f8eSopenharmony_ci} 24761847f8eSopenharmony_ci 24861847f8eSopenharmony_ci/** 24961847f8eSopenharmony_ci * The class of a UI ability. 25061847f8eSopenharmony_ci * 25161847f8eSopenharmony_ci * @extends Ability 25261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 25361847f8eSopenharmony_ci * @StageModelOnly 25461847f8eSopenharmony_ci * @since 9 25561847f8eSopenharmony_ci */ 25661847f8eSopenharmony_ci/** 25761847f8eSopenharmony_ci * The class of a UI ability. 25861847f8eSopenharmony_ci * 25961847f8eSopenharmony_ci * @extends Ability 26061847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 26161847f8eSopenharmony_ci * @StageModelOnly 26261847f8eSopenharmony_ci * @crossplatform 26361847f8eSopenharmony_ci * @since 10 26461847f8eSopenharmony_ci */ 26561847f8eSopenharmony_ci/** 26661847f8eSopenharmony_ci * The class of a UI ability. 26761847f8eSopenharmony_ci * 26861847f8eSopenharmony_ci * @extends Ability 26961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 27061847f8eSopenharmony_ci * @StageModelOnly 27161847f8eSopenharmony_ci * @crossplatform 27261847f8eSopenharmony_ci * @atomicservice 27361847f8eSopenharmony_ci * @since 11 27461847f8eSopenharmony_ci */ 27561847f8eSopenharmony_ciexport default class UIAbility extends Ability { 27661847f8eSopenharmony_ci /** 27761847f8eSopenharmony_ci * Indicates configuration information about an ability context. 27861847f8eSopenharmony_ci * 27961847f8eSopenharmony_ci * @type { UIAbilityContext } 28061847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 28161847f8eSopenharmony_ci * @StageModelOnly 28261847f8eSopenharmony_ci * @since 9 28361847f8eSopenharmony_ci */ 28461847f8eSopenharmony_ci /** 28561847f8eSopenharmony_ci * Indicates configuration information about an ability context. 28661847f8eSopenharmony_ci * 28761847f8eSopenharmony_ci * @type { UIAbilityContext } 28861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 28961847f8eSopenharmony_ci * @StageModelOnly 29061847f8eSopenharmony_ci * @crossplatform 29161847f8eSopenharmony_ci * @since 10 29261847f8eSopenharmony_ci */ 29361847f8eSopenharmony_ci /** 29461847f8eSopenharmony_ci * Indicates configuration information about an ability context. 29561847f8eSopenharmony_ci * 29661847f8eSopenharmony_ci * @type { UIAbilityContext } 29761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 29861847f8eSopenharmony_ci * @StageModelOnly 29961847f8eSopenharmony_ci * @crossplatform 30061847f8eSopenharmony_ci * @atomicservice 30161847f8eSopenharmony_ci * @since 11 30261847f8eSopenharmony_ci */ 30361847f8eSopenharmony_ci context: UIAbilityContext; 30461847f8eSopenharmony_ci 30561847f8eSopenharmony_ci /** 30661847f8eSopenharmony_ci * Indicates ability launch want. 30761847f8eSopenharmony_ci * 30861847f8eSopenharmony_ci * @type { Want } 30961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 31061847f8eSopenharmony_ci * @StageModelOnly 31161847f8eSopenharmony_ci * @since 9 31261847f8eSopenharmony_ci */ 31361847f8eSopenharmony_ci /** 31461847f8eSopenharmony_ci * Indicates ability launch want. 31561847f8eSopenharmony_ci * 31661847f8eSopenharmony_ci * @type { Want } 31761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 31861847f8eSopenharmony_ci * @StageModelOnly 31961847f8eSopenharmony_ci * @atomicservice 32061847f8eSopenharmony_ci * @since 11 32161847f8eSopenharmony_ci */ 32261847f8eSopenharmony_ci launchWant: Want; 32361847f8eSopenharmony_ci 32461847f8eSopenharmony_ci /** 32561847f8eSopenharmony_ci * Indicates ability last request want. 32661847f8eSopenharmony_ci * 32761847f8eSopenharmony_ci * @type { Want } 32861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 32961847f8eSopenharmony_ci * @StageModelOnly 33061847f8eSopenharmony_ci * @since 9 33161847f8eSopenharmony_ci */ 33261847f8eSopenharmony_ci /** 33361847f8eSopenharmony_ci * Indicates ability last request want. 33461847f8eSopenharmony_ci * 33561847f8eSopenharmony_ci * @type { Want } 33661847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 33761847f8eSopenharmony_ci * @StageModelOnly 33861847f8eSopenharmony_ci * @atomicservice 33961847f8eSopenharmony_ci * @since 11 34061847f8eSopenharmony_ci */ 34161847f8eSopenharmony_ci lastRequestWant: Want; 34261847f8eSopenharmony_ci 34361847f8eSopenharmony_ci /** 34461847f8eSopenharmony_ci * Call Service Stub Object. 34561847f8eSopenharmony_ci * 34661847f8eSopenharmony_ci * @type { Callee } 34761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 34861847f8eSopenharmony_ci * @StageModelOnly 34961847f8eSopenharmony_ci * @since 9 35061847f8eSopenharmony_ci */ 35161847f8eSopenharmony_ci callee: Callee; 35261847f8eSopenharmony_ci 35361847f8eSopenharmony_ci /** 35461847f8eSopenharmony_ci * Called back when an ability is started for initialization. 35561847f8eSopenharmony_ci * 35661847f8eSopenharmony_ci * @param { Want } want - Indicates the want info of the created ability. 35761847f8eSopenharmony_ci * @param { AbilityConstant.LaunchParam } launchParam - Indicates the launch param. 35861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 35961847f8eSopenharmony_ci * @StageModelOnly 36061847f8eSopenharmony_ci * @since 9 36161847f8eSopenharmony_ci */ 36261847f8eSopenharmony_ci /** 36361847f8eSopenharmony_ci * Called back when an ability is started for initialization. 36461847f8eSopenharmony_ci * 36561847f8eSopenharmony_ci * @param { Want } want - Indicates the want info of the created ability. 36661847f8eSopenharmony_ci * @param { AbilityConstant.LaunchParam } launchParam - Indicates the launch param. 36761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 36861847f8eSopenharmony_ci * @StageModelOnly 36961847f8eSopenharmony_ci * @crossplatform 37061847f8eSopenharmony_ci * @since 10 37161847f8eSopenharmony_ci */ 37261847f8eSopenharmony_ci /** 37361847f8eSopenharmony_ci * Called back when an ability is started for initialization. 37461847f8eSopenharmony_ci * 37561847f8eSopenharmony_ci * @param { Want } want - Indicates the want info of the created ability. 37661847f8eSopenharmony_ci * @param { AbilityConstant.LaunchParam } launchParam - Indicates the launch param. 37761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 37861847f8eSopenharmony_ci * @StageModelOnly 37961847f8eSopenharmony_ci * @crossplatform 38061847f8eSopenharmony_ci * @atomicservice 38161847f8eSopenharmony_ci * @since 11 38261847f8eSopenharmony_ci */ 38361847f8eSopenharmony_ci onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void; 38461847f8eSopenharmony_ci 38561847f8eSopenharmony_ci /** 38661847f8eSopenharmony_ci * Called back when an ability window stage is created. 38761847f8eSopenharmony_ci * 38861847f8eSopenharmony_ci * @param { window.WindowStage } windowStage - Indicates the created WindowStage. 38961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 39061847f8eSopenharmony_ci * @StageModelOnly 39161847f8eSopenharmony_ci * @since 9 39261847f8eSopenharmony_ci */ 39361847f8eSopenharmony_ci /** 39461847f8eSopenharmony_ci * Called back when an ability window stage is created. 39561847f8eSopenharmony_ci * 39661847f8eSopenharmony_ci * @param { window.WindowStage } windowStage - Indicates the created WindowStage. 39761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 39861847f8eSopenharmony_ci * @StageModelOnly 39961847f8eSopenharmony_ci * @crossplatform 40061847f8eSopenharmony_ci * @since 10 40161847f8eSopenharmony_ci */ 40261847f8eSopenharmony_ci /** 40361847f8eSopenharmony_ci * Called back when an ability window stage is created. 40461847f8eSopenharmony_ci * 40561847f8eSopenharmony_ci * @param { window.WindowStage } windowStage - Indicates the created WindowStage. 40661847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 40761847f8eSopenharmony_ci * @StageModelOnly 40861847f8eSopenharmony_ci * @crossplatform 40961847f8eSopenharmony_ci * @atomicservice 41061847f8eSopenharmony_ci * @since 11 41161847f8eSopenharmony_ci */ 41261847f8eSopenharmony_ci onWindowStageCreate(windowStage: window.WindowStage): void; 41361847f8eSopenharmony_ci 41461847f8eSopenharmony_ci /** 41561847f8eSopenharmony_ci * Called back when an ability window stage will destroy. 41661847f8eSopenharmony_ci * 41761847f8eSopenharmony_ci * @param { window.WindowStage } windowStage - Indicates the WindowStage that will be destroyed. 41861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 41961847f8eSopenharmony_ci * @StageModelOnly 42061847f8eSopenharmony_ci * @atomicservice 42161847f8eSopenharmony_ci * @since 12 42261847f8eSopenharmony_ci */ 42361847f8eSopenharmony_ci onWindowStageWillDestroy(windowStage: window.WindowStage): void; 42461847f8eSopenharmony_ci 42561847f8eSopenharmony_ci /** 42661847f8eSopenharmony_ci * Called back when an ability window stage is destroyed. 42761847f8eSopenharmony_ci * 42861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 42961847f8eSopenharmony_ci * @StageModelOnly 43061847f8eSopenharmony_ci * @since 9 43161847f8eSopenharmony_ci */ 43261847f8eSopenharmony_ci /** 43361847f8eSopenharmony_ci * Called back when an ability window stage is destroyed. 43461847f8eSopenharmony_ci * 43561847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 43661847f8eSopenharmony_ci * @StageModelOnly 43761847f8eSopenharmony_ci * @crossplatform 43861847f8eSopenharmony_ci * @since 10 43961847f8eSopenharmony_ci */ 44061847f8eSopenharmony_ci /** 44161847f8eSopenharmony_ci * Called back when an ability window stage is destroyed. 44261847f8eSopenharmony_ci * 44361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 44461847f8eSopenharmony_ci * @StageModelOnly 44561847f8eSopenharmony_ci * @crossplatform 44661847f8eSopenharmony_ci * @atomicservice 44761847f8eSopenharmony_ci * @since 11 44861847f8eSopenharmony_ci */ 44961847f8eSopenharmony_ci onWindowStageDestroy(): void; 45061847f8eSopenharmony_ci 45161847f8eSopenharmony_ci /** 45261847f8eSopenharmony_ci * Called back when an ability window stage is restored. 45361847f8eSopenharmony_ci * 45461847f8eSopenharmony_ci * @param { window.WindowStage } windowStage - window stage to restore 45561847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 45661847f8eSopenharmony_ci * @StageModelOnly 45761847f8eSopenharmony_ci * @since 9 45861847f8eSopenharmony_ci */ 45961847f8eSopenharmony_ci /** 46061847f8eSopenharmony_ci * Called back when an ability window stage is restored. 46161847f8eSopenharmony_ci * 46261847f8eSopenharmony_ci * @param { window.WindowStage } windowStage - window stage to restore 46361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 46461847f8eSopenharmony_ci * @StageModelOnly 46561847f8eSopenharmony_ci * @atomicservice 46661847f8eSopenharmony_ci * @since 11 46761847f8eSopenharmony_ci */ 46861847f8eSopenharmony_ci onWindowStageRestore(windowStage: window.WindowStage): void; 46961847f8eSopenharmony_ci 47061847f8eSopenharmony_ci /** 47161847f8eSopenharmony_ci * Called back before an ability is destroyed. 47261847f8eSopenharmony_ci * 47361847f8eSopenharmony_ci * @returns { void | Promise<void> } the promise returned by the function. 47461847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 47561847f8eSopenharmony_ci * @StageModelOnly 47661847f8eSopenharmony_ci * @since 9 47761847f8eSopenharmony_ci */ 47861847f8eSopenharmony_ci /** 47961847f8eSopenharmony_ci * Called back before an ability is destroyed. 48061847f8eSopenharmony_ci * 48161847f8eSopenharmony_ci * @returns { void | Promise<void> } the promise returned by the function. 48261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 48361847f8eSopenharmony_ci * @StageModelOnly 48461847f8eSopenharmony_ci * @crossplatform 48561847f8eSopenharmony_ci * @since 10 48661847f8eSopenharmony_ci */ 48761847f8eSopenharmony_ci /** 48861847f8eSopenharmony_ci * Called back before an ability is destroyed. 48961847f8eSopenharmony_ci * 49061847f8eSopenharmony_ci * @returns { void | Promise<void> } the promise returned by the function. 49161847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 49261847f8eSopenharmony_ci * @StageModelOnly 49361847f8eSopenharmony_ci * @crossplatform 49461847f8eSopenharmony_ci * @atomicservice 49561847f8eSopenharmony_ci * @since 11 49661847f8eSopenharmony_ci */ 49761847f8eSopenharmony_ci onDestroy(): void | Promise<void>; 49861847f8eSopenharmony_ci 49961847f8eSopenharmony_ci /** 50061847f8eSopenharmony_ci * Called back when the state of an ability changes to foreground. 50161847f8eSopenharmony_ci * 50261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 50361847f8eSopenharmony_ci * @StageModelOnly 50461847f8eSopenharmony_ci * @since 9 50561847f8eSopenharmony_ci */ 50661847f8eSopenharmony_ci /** 50761847f8eSopenharmony_ci * Called back when the state of an ability changes to foreground. 50861847f8eSopenharmony_ci * 50961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 51061847f8eSopenharmony_ci * @StageModelOnly 51161847f8eSopenharmony_ci * @crossplatform 51261847f8eSopenharmony_ci * @since 10 51361847f8eSopenharmony_ci */ 51461847f8eSopenharmony_ci /** 51561847f8eSopenharmony_ci * Called back when the state of an ability changes to foreground. 51661847f8eSopenharmony_ci * 51761847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 51861847f8eSopenharmony_ci * @StageModelOnly 51961847f8eSopenharmony_ci * @crossplatform 52061847f8eSopenharmony_ci * @atomicservice 52161847f8eSopenharmony_ci * @since 11 52261847f8eSopenharmony_ci */ 52361847f8eSopenharmony_ci onForeground(): void; 52461847f8eSopenharmony_ci 52561847f8eSopenharmony_ci /** 52661847f8eSopenharmony_ci * Called back when the state of an ability changes to background. 52761847f8eSopenharmony_ci * 52861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 52961847f8eSopenharmony_ci * @StageModelOnly 53061847f8eSopenharmony_ci * @since 9 53161847f8eSopenharmony_ci */ 53261847f8eSopenharmony_ci /** 53361847f8eSopenharmony_ci * Called back when the state of an ability changes to background. 53461847f8eSopenharmony_ci * 53561847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 53661847f8eSopenharmony_ci * @StageModelOnly 53761847f8eSopenharmony_ci * @crossplatform 53861847f8eSopenharmony_ci * @since 10 53961847f8eSopenharmony_ci */ 54061847f8eSopenharmony_ci /** 54161847f8eSopenharmony_ci * Called back when the state of an ability changes to background. 54261847f8eSopenharmony_ci * 54361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 54461847f8eSopenharmony_ci * @StageModelOnly 54561847f8eSopenharmony_ci * @crossplatform 54661847f8eSopenharmony_ci * @atomicservice 54761847f8eSopenharmony_ci * @since 11 54861847f8eSopenharmony_ci */ 54961847f8eSopenharmony_ci onBackground(): void; 55061847f8eSopenharmony_ci 55161847f8eSopenharmony_ci /** 55261847f8eSopenharmony_ci * Called back when an ability prepares to continue. 55361847f8eSopenharmony_ci * 55461847f8eSopenharmony_ci * @param { object } wantParam - Indicates the want parameter. 55561847f8eSopenharmony_ci * @returns { AbilityConstant.OnContinueResult } Return the result of onContinue. 55661847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 55761847f8eSopenharmony_ci * @StageModelOnly 55861847f8eSopenharmony_ci * @since 9 55961847f8eSopenharmony_ci */ 56061847f8eSopenharmony_ci /** 56161847f8eSopenharmony_ci * Called back when an ability prepares to continue. 56261847f8eSopenharmony_ci * 56361847f8eSopenharmony_ci * @param { Record<string, Object> } wantParam - Indicates the want parameter. 56461847f8eSopenharmony_ci * @returns { AbilityConstant.OnContinueResult } Return the result of onContinue. 56561847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 56661847f8eSopenharmony_ci * @StageModelOnly 56761847f8eSopenharmony_ci * @atomicservice 56861847f8eSopenharmony_ci * @since 11 56961847f8eSopenharmony_ci */ 57061847f8eSopenharmony_ci /** 57161847f8eSopenharmony_ci * Called back when an ability prepares to continue. 57261847f8eSopenharmony_ci * 57361847f8eSopenharmony_ci * @param { Record<string, Object> } wantParam - Indicates the want parameter. 57461847f8eSopenharmony_ci * @returns { AbilityConstant.OnContinueResult | Promise<AbilityConstant.OnContinueResult> } Return the result of onContinue, support promise. 57561847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 57661847f8eSopenharmony_ci * @StageModelOnly 57761847f8eSopenharmony_ci * @atomicservice 57861847f8eSopenharmony_ci * @since 12 57961847f8eSopenharmony_ci */ 58061847f8eSopenharmony_ci onContinue(wantParam: Record<string, Object>): 58161847f8eSopenharmony_ci AbilityConstant.OnContinueResult | Promise<AbilityConstant.OnContinueResult>; 58261847f8eSopenharmony_ci 58361847f8eSopenharmony_ci /** 58461847f8eSopenharmony_ci * Called when the launch mode of an ability is set to singleton. 58561847f8eSopenharmony_ci * This happens when you re-launch an ability that has been at the top of the ability stack. 58661847f8eSopenharmony_ci * 58761847f8eSopenharmony_ci * @param { Want } want - Indicates the want info of ability. 58861847f8eSopenharmony_ci * @param { AbilityConstant.LaunchParam } launchParam - Indicates the launch parameters. 58961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 59061847f8eSopenharmony_ci * @StageModelOnly 59161847f8eSopenharmony_ci * @since 9 59261847f8eSopenharmony_ci */ 59361847f8eSopenharmony_ci /** 59461847f8eSopenharmony_ci * Called when the launch mode of an ability is set to singleton. 59561847f8eSopenharmony_ci * This happens when you re-launch an ability that has been at the top of the ability stack. 59661847f8eSopenharmony_ci * 59761847f8eSopenharmony_ci * @param { Want } want - Indicates the want info of ability. 59861847f8eSopenharmony_ci * @param { AbilityConstant.LaunchParam } launchParam - Indicates the launch parameters. 59961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 60061847f8eSopenharmony_ci * @StageModelOnly 60161847f8eSopenharmony_ci * @crossplatform 60261847f8eSopenharmony_ci * @since 10 60361847f8eSopenharmony_ci */ 60461847f8eSopenharmony_ci /** 60561847f8eSopenharmony_ci * Called when the launch mode of an ability is set to singleton. 60661847f8eSopenharmony_ci * This happens when you re-launch an ability that has been at the top of the ability stack. 60761847f8eSopenharmony_ci * 60861847f8eSopenharmony_ci * @param { Want } want - Indicates the want info of ability. 60961847f8eSopenharmony_ci * @param { AbilityConstant.LaunchParam } launchParam - Indicates the launch parameters. 61061847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 61161847f8eSopenharmony_ci * @StageModelOnly 61261847f8eSopenharmony_ci * @crossplatform 61361847f8eSopenharmony_ci * @atomicservice 61461847f8eSopenharmony_ci * @since 11 61561847f8eSopenharmony_ci */ 61661847f8eSopenharmony_ci onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void; 61761847f8eSopenharmony_ci 61861847f8eSopenharmony_ci /** 61961847f8eSopenharmony_ci * Called when dump client information is required. 62061847f8eSopenharmony_ci * It is recommended that developers don't DUMP sensitive information. 62161847f8eSopenharmony_ci * 62261847f8eSopenharmony_ci * @param { Array<string> } params - Indicates the params from command. 62361847f8eSopenharmony_ci * @returns { Array<string> } Return the dump info array. 62461847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 62561847f8eSopenharmony_ci * @StageModelOnly 62661847f8eSopenharmony_ci * @since 9 62761847f8eSopenharmony_ci */ 62861847f8eSopenharmony_ci /** 62961847f8eSopenharmony_ci * Called when dump client information is required. 63061847f8eSopenharmony_ci * It is recommended that developers don't DUMP sensitive information. 63161847f8eSopenharmony_ci * 63261847f8eSopenharmony_ci * @param { Array<string> } params - Indicates the params from command. 63361847f8eSopenharmony_ci * @returns { Array<string> } Return the dump info array. 63461847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 63561847f8eSopenharmony_ci * @StageModelOnly 63661847f8eSopenharmony_ci * @atomicservice 63761847f8eSopenharmony_ci * @since 11 63861847f8eSopenharmony_ci */ 63961847f8eSopenharmony_ci onDump(params: Array<string>): Array<string>; 64061847f8eSopenharmony_ci 64161847f8eSopenharmony_ci /** 64261847f8eSopenharmony_ci * Called back when an ability prepares to save. 64361847f8eSopenharmony_ci * 64461847f8eSopenharmony_ci * @param { AbilityConstant.StateType } reason - state type when save. 64561847f8eSopenharmony_ci * @param { object } wantParam - Indicates the want parameter. 64661847f8eSopenharmony_ci * @returns { AbilityConstant.OnSaveResult } agree with the current UIAbility status or not.return 0 if ability 64761847f8eSopenharmony_ci * agrees to save data successfully, otherwise errcode. 64861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 64961847f8eSopenharmony_ci * @StageModelOnly 65061847f8eSopenharmony_ci * @since 9 65161847f8eSopenharmony_ci */ 65261847f8eSopenharmony_ci /** 65361847f8eSopenharmony_ci * Called back when an ability prepares to save. 65461847f8eSopenharmony_ci * 65561847f8eSopenharmony_ci * @param { AbilityConstant.StateType } reason - state type when save. 65661847f8eSopenharmony_ci * @param { Record<string, Object> } wantParam - Indicates the want parameter. 65761847f8eSopenharmony_ci * @returns { AbilityConstant.OnSaveResult } agree with the current UIAbility status or not.return 0 if ability 65861847f8eSopenharmony_ci * agrees to save data successfully, otherwise errcode. 65961847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 66061847f8eSopenharmony_ci * @StageModelOnly 66161847f8eSopenharmony_ci * @atomicservice 66261847f8eSopenharmony_ci * @since 11 66361847f8eSopenharmony_ci */ 66461847f8eSopenharmony_ci onSaveState(reason: AbilityConstant.StateType, wantParam: Record<string, Object>): AbilityConstant.OnSaveResult; 66561847f8eSopenharmony_ci 66661847f8eSopenharmony_ci /** 66761847f8eSopenharmony_ci * Called back when an ability shares data. 66861847f8eSopenharmony_ci * 66961847f8eSopenharmony_ci * @param { object } wantParam - Indicates the want parameter. 67061847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 67161847f8eSopenharmony_ci * @StageModelOnly 67261847f8eSopenharmony_ci * @since 10 67361847f8eSopenharmony_ci */ 67461847f8eSopenharmony_ci /** 67561847f8eSopenharmony_ci * Called back when an ability shares data. 67661847f8eSopenharmony_ci * 67761847f8eSopenharmony_ci * @param { Record<string, Object> } wantParam - Indicates the want parameter. 67861847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 67961847f8eSopenharmony_ci * @StageModelOnly 68061847f8eSopenharmony_ci * @atomicservice 68161847f8eSopenharmony_ci * @since 11 68261847f8eSopenharmony_ci */ 68361847f8eSopenharmony_ci onShare(wantParam: Record<string, Object>): void; 68461847f8eSopenharmony_ci 68561847f8eSopenharmony_ci /** 68661847f8eSopenharmony_ci * Called back when an ability prepare to terminate. 68761847f8eSopenharmony_ci * 68861847f8eSopenharmony_ci * @permission ohos.permission.PREPARE_APP_TERMINATE 68961847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} if the ability need to top terminating; returns {@code false} if the 69061847f8eSopenharmony_ci * ability need to terminate. 69161847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 69261847f8eSopenharmony_ci * @StageModelOnly 69361847f8eSopenharmony_ci * @since 10 69461847f8eSopenharmony_ci */ 69561847f8eSopenharmony_ci /** 69661847f8eSopenharmony_ci * Called back when an ability prepare to terminate. 69761847f8eSopenharmony_ci * 69861847f8eSopenharmony_ci * @permission ohos.permission.PREPARE_APP_TERMINATE 69961847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} if the ability need to top terminating; returns {@code false} if the 70061847f8eSopenharmony_ci * ability need to terminate. 70161847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 70261847f8eSopenharmony_ci * @StageModelOnly 70361847f8eSopenharmony_ci * @atomicservice 70461847f8eSopenharmony_ci * @since 11 70561847f8eSopenharmony_ci */ 70661847f8eSopenharmony_ci onPrepareToTerminate(): boolean; 70761847f8eSopenharmony_ci 70861847f8eSopenharmony_ci /** 70961847f8eSopenharmony_ci * Called back when back press is dispatched. 71061847f8eSopenharmony_ci * 71161847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} means the ability will move to background when back is pressed; 71261847f8eSopenharmony_ci * Returns {@code false} means the ability will be destroyed when back is pressed. 71361847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 71461847f8eSopenharmony_ci * @StageModelOnly 71561847f8eSopenharmony_ci * @since 10 71661847f8eSopenharmony_ci */ 71761847f8eSopenharmony_ci /** 71861847f8eSopenharmony_ci * Called back when back press is dispatched. 71961847f8eSopenharmony_ci * 72061847f8eSopenharmony_ci * @returns { boolean } Returns {@code true} means the ability will move to background when back is pressed; 72161847f8eSopenharmony_ci * Returns {@code false} means the ability will be destroyed when back is pressed. 72261847f8eSopenharmony_ci * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 72361847f8eSopenharmony_ci * @StageModelOnly 72461847f8eSopenharmony_ci * @atomicservice 72561847f8eSopenharmony_ci * @since 11 72661847f8eSopenharmony_ci */ 72761847f8eSopenharmony_ci onBackPressed(): boolean; 72861847f8eSopenharmony_ci} 729