1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16import Ability from '@ohos.application.Ability' 17import Logger from '../../../../../imagelibrary/src/main/ets/components/data/Logger' 18 19const TAG: string = 'MainAbility' 20const PERMISSIONS: Array<string> = ['ohos.permission.READ_MEDIA'] 21 22export default class MainAbility extends Ability { 23 async onCreate(want, launchParam) { 24 Logger.info(TAG, `[Demo] MainAbility onCreate`) 25 await this.context.requestPermissionsFromUser(PERMISSIONS) 26 } 27 28 onDestroy() { 29 Logger.info(TAG, `[Demo] MainAbility onDestroy`) 30 } 31 32 onWindowStageCreate(windowStage) { 33 // Main window is created, set main page for this ability 34 Logger.info(TAG, `[Demo] MainAbility onWindowStageCreate`) 35 windowStage.loadContent('pages/Index', (err, data) => { 36 if (err.code) { 37 Logger.info(TAG, `Failed to load the content. Cause: ${JSON.stringify(err)}`) 38 return 39 } 40 Logger.info(TAG, `Succeeded in loading the content. Data: ${JSON.stringify(data)}`) 41 }) 42 } 43 44 onWindowStageDestroy() { 45 // Main window is destroyed, release UI related resources 46 Logger.info(TAG, `[Demo] MainAbility onWindowStageDestroy`) 47 } 48 49 onForeground() { 50 // Ability has brought to foreground 51 Logger.info(TAG, `[Demo] MainAbility onForeground`) 52 } 53 54 onBackground() { 55 // Ability has back to background 56 Logger.info(TAG, `[Demo] MainAbility onBackground`) 57 } 58} 59