1import UIExtensionAbility from '@ohos.app.ability.UIExtensionAbility'; 2import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession'; 3import Want from '@ohos.app.ability.Want'; 4import common from '@ohos.app.ability.common'; 5 6import { Logger } from '../common/util/HiLogger' 7import { MusicApp } from '../common/global/globalmodel/GlobalModel'; 8import { createOrGet, globalKeys } from '../common/global/GlobalThisHelper' 9 10const logger: Logger = new Logger('AudioPickerExtAbility') 11const app: MusicApp = createOrGet(MusicApp, globalKeys.app, ['phone']); 12 13/** 14 * AudioPicker模态弹框 15 */ 16export default class AudioPickerUIExtensionAbility extends UIExtensionAbility { 17 onCreate() { 18 Logger.domain = 0xD004722 19 logger.info(`UIExtAbility onCreate`) 20 app.UIExtensionContext = this.context; 21 app.abilityContext = getContext(this) as common.UIAbilityContext 22 } 23 24 onSessionCreate(want: Want, session: UIExtensionContentSession) { 25 logger.info(`UIExtAbility onSessionCreate, want: ${JSON.stringify(want)}`) 26 let param: Record<string, UIExtensionContentSession | Want> = { 27 'session': session, 28 'want': want 29 } 30 let storage: LocalStorage = new LocalStorage(param); 31 try { 32 session.loadContent('pages/card/AudioPickerExtension', storage); // 提供方加载自己界面 33 34 } catch (e) { 35 logger.error(` error ${JSON.stringify(e)}`) 36 } 37 } 38 39 onSessionDestroy(session: UIExtensionContentSession) { 40 logger.info(`UIExtAbility onSessionDestroy`) 41 } 42 43 onForeground(): void { 44 } 45 46 onBackground(): void { 47 } 48 49 onDestroy(): void | Promise<void> { 50 } 51}