harmony 鸿蒙AbilityContext

2022-08-09 浏览 (876)

AbilityContext

The AbilityContext module, inherited from Context, implements the context for abilities.

This module provides APIs for accessing ability-specific resources. You can use the APIs to start and terminate an ability, obtain the caller interface, and request permissions from users by displaying a dialog box.

NOTE

  • The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
  • The APIs of this module can be used only in the stage model.

Usage

Before using the AbilityContext module, you must define a child class that inherits from Ability.

import UIAbility from '@ohos.app.ability.UIAbility';

let context = undefined;
class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage) {
        context = this.context;
    }
}

Attributes

System capability: SystemCapability.Ability.AbilityRuntime.Core

NameTypeReadableWritableDescription
abilityInfoAbilityInfoYesNoAbility information.
currentHapModuleInfoHapModuleInfoYesNoInformation about the current HAP.
configConfigurationYesNoConfiguration information.

AbilityContext.startAbility

startAbility(want: Want, callback: AsyncCallback<void>): void;

Starts an ability. This API uses an asynchronous callback to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  bundleName: "com.example.myapplication",
  abilityName: "MyAbility"
};

try {
  this.context.startAbility(want, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('startAbility succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbility

startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>): void;

Starts an ability with the start options specified. This API uses an asynchronous callback to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
optionsStartOptionsYesParameters used for starting the ability.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var options = {
  windowMode: 0
};

try {
  this.context.startAbility(want, options, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('startAbility succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbility

startAbility(want: Want, options?: StartOptions): Promise<void>;

Starts an ability. This API uses a promise to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
optionsStartOptionsNoParameters used for starting the ability.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  bundleName: "com.example.myapplication",
  abilityName: "MyAbility"
};
var options = {
	windowMode: 0,
};

try {
  this.context.startAbility(want, options)
    .then((data) => {
      // Carry out normal service processing.
      console.log('startAbility succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('startAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityForResult

startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): void;

Starts an ability. After the ability is started, you can call terminateSelfWithResult to terminate the ability and return the result to the caller. If an exception occurs, for example, the ability is killed, exception information is returned to the caller. This API uses an asynchronous callback to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
callbackAsyncCallback<AbilityResult>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  this.context.startAbilityForResult(want, (error, result) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbilityForResult failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log("startAbilityForResult succeed, result.resultCode = " +
      result.resultCode)
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityForResult

startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>): void;

Starts an ability with the start options specified. After the ability is started, you can call terminateSelfWithResult to terminate the ability and return the result to the caller. If an exception occurs, for example, the ability is killed, exception information is returned to the caller. This API uses an asynchronous callback to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
optionsStartOptionsYesParameters used for starting the ability.
callbackAsyncCallback<AbilityResult>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var options = {
  windowMode: 0,
};

try {
  this.context.startAbilityForResult(want, options, (error, result) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbilityForResult failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log("startAbilityForResult succeed, result.resultCode = " +
      result.resultCode)
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityForResult

startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityResult>;

Starts an ability. After the ability is started, you can call terminateSelfWithResult to terminate the ability and return the result to the caller. If an exception occurs, for example, the ability is killed, exception information is returned to the caller. This API uses a promise to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
optionsStartOptionsNoParameters used for starting the ability.

Return value

TypeDescription
Promise<AbilityResult>Promise used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  bundleName: "com.example.myapplication",
  abilityName: "MyAbility"
};
var options = {
	windowMode: 0,
};

try {
  this.context.startAbilityForResult(want, options)
    .then((result) => {
      // Carry out normal service processing.
      console.log("startAbilityForResult succeed, result.resultCode = " + result.resultCode);
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('startAbilityForResult failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityForResultWithAccount

startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback<AbilityResult>): void;

Starts an ability with the account ID specified. This API uses an asynchronous callback to return the result when the ability is terminated.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
callbackAsyncCallback<AbilityResult>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;

try {
  this.context.startAbilityForResultWithAccount(want, accountId, (error, result) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbilityForResultWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log("startAbilityForResultWithAccount succeed, result.resultCode = " +
      result.resultCode)
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityForResultWithAccount

startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>): void;

Starts an ability with the start options and account ID specified. This API uses an asynchronous callback to return the result when the ability is terminated.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
optionsStartOptionsYesParameters used for starting the ability.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;
var options = {
  windowMode: 0
};

try {
  this.context.startAbilityForResultWithAccount(want, accountId, options, (error, result) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbilityForResultWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log("startAbilityForResultWithAccount succeed, result.resultCode = " +
      result.resultCode)
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityForResultWithAccount

startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<AbilityResult>;

Starts an ability with the account ID specified. This API uses a promise to return the result when the ability is terminated.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
optionsStartOptionsNoParameters used for starting the ability.

Return value

TypeDescription
Promise<AbilityResult>Promise used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;
var options = {
  windowMode: 0
};

try {
  this.context.startAbilityForResultWithAccount(want, accountId, options)
    .then((result) => {
      // Carry out normal service processing.
      console.log("startAbilityForResultWithAccount succeed, result.resultCode = " +
        result.resultCode)
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('startAbilityForResultWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startServiceExtensionAbility

startServiceExtensionAbility(want: Want, callback: AsyncCallback<void>): void;

Starts a ServiceExtensionAbility. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  this.context.startServiceExtensionAbility(want, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startServiceExtensionAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('startServiceExtensionAbility succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startServiceExtensionAbility

startServiceExtensionAbility(want: Want): Promise<void>;

Starts a ServiceExtensionAbility. This API uses a promise to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  this.context.startServiceExtensionAbility(want)
    .then((data) => {
      // Carry out normal service processing.
      console.log('startServiceExtensionAbility succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('startServiceExtensionAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startServiceExtensionAbilityWithAccount

startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void;

Starts a ServiceExtensionAbility with the account ID specified. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;

try {
  this.context.startServiceExtensionAbilityWithAccount(want, accountId, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startServiceExtensionAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('startServiceExtensionAbilityWithAccount succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startServiceExtensionAbilityWithAccount

startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise<void>;

Starts a ServiceExtensionAbility with the account ID specified. This API uses a promise to return the result.

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;

try {
  this.context.startServiceExtensionAbilityWithAccount(want, accountId)
    .then((data) => {
      // Carry out normal service processing.
      console.log('startServiceExtensionAbilityWithAccount succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('startServiceExtensionAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.stopServiceExtensionAbility

stopServiceExtensionAbility(want: Want, callback: AsyncCallback<void>): void;

Stops a ServiceExtensionAbility in the same application. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  this.context.startAbility(want, (error) => {
    if (error.code != 0) {
      console.log("start ability fail, err: " + JSON.stringify(err));
    }
  })

  this.context.stopServiceExtensionAbility(want, (error) => {
    if (error.code != 0) {
      // Process service logic errors.
      console.log('stopServiceExtensionAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('stopServiceExtensionAbility succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.stopServiceExtensionAbility

stopServiceExtensionAbility(want: Want): Promise<void>;

Stops a ServiceExtensionAbility in the same application. This API uses a promise to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};

try {
  this.context.startAbility(want, (error) => {
    if (error.code != 0) {
      console.log("start ability fail, err: " + JSON.stringify(err));
    }
  })

  this.context.stopServiceExtensionAbility(want)
    .then((data) => {
      // Carry out normal service processing.
      console.log('stopServiceExtensionAbility succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('stopServiceExtensionAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.stopServiceExtensionAbilityWithAccount

stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void;

Stops a ServiceExtensionAbility in the same application with the account ID specified. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;

try {
  this.context.startAbilityWithAccount(want, accountId, (error) => {
    if (error.code != 0) {
      console.log("start ability fail, err: " + JSON.stringify(err));
    }
  })

  this.context.stopServiceExtensionAbilityWithAccount(want, accountId, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('stopServiceExtensionAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('stopServiceExtensionAbilityWithAccount succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.stopServiceExtensionAbilityWithAccount

stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise<void>;

Stops a ServiceExtensionAbility in the same application with the account ID specified. This API uses a promise to return the result.

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;

try {
  this.context.startAbilityWithAccount(want, accountId, (error) => {
    if (error.code != 0) {
      console.log("start ability fail, err: " + JSON.stringify(err));
    }
  })

  this.context.stopServiceExtensionAbilityWithAccount(want, accountId)
    .then((data) => {
      // Carry out normal service processing.
      console.log('stopServiceExtensionAbilityWithAccount succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('stopServiceExtensionAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.terminateSelf

terminateSelf(callback: AsyncCallback<void>): void;

Terminates this ability. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

this.context.terminateSelf((error) => {
  if (error.code) {
    // Process service logic errors.
    console.log('terminateSelf failed, error.code: ' + JSON.stringify(error.code) +
      ' error.message: ' + JSON.stringify(error.message));
    return;
  }
  // Carry out normal service processing.
  console.log('terminateSelf succeed');
});

AbilityContext.terminateSelf

terminateSelf(): Promise<void>;

Terminates this ability. This API uses a promise to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

this.context.terminateSelf().then((data) => {
  // Carry out normal service processing.
  console.log('terminateSelf succeed');
}).catch((error) => {
  // Process service logic errors.
  console.log('terminateSelf failed, error.code: ' + JSON.stringify(error.code) +
    ' error.message: ' + JSON.stringify(error.message));
});

AbilityContext.terminateSelfWithResult

terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void;

Terminates this ability. If the ability is started by calling startAbilityForResult, the result is returned to the caller in the form of a callback when terminateSelfWithResult is called. Otherwise, no result is returned to the caller when terminateSelfWithResult is called.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
parameterAbilityResultYesInformation returned to the caller.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  bundleName: "com.extreme.myapplication",
  abilityName: "SecondAbility"
}
var resultCode = 100;
// AbilityResult information returned to the caller.
var abilityResult = {
  want,
  resultCode
}

try {
  this.context.terminateSelfWithResult(abilityResult, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('terminateSelfWithResult failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('terminateSelfWithResult succeed');
  });
} catch (paramError) {
    // Process input parameter errors.
    console.log('error.code: ' + JSON.stringify(paramError.code) +
      ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.terminateSelfWithResult

terminateSelfWithResult(parameter: AbilityResult): Promise<void>; Terminates this ability. If the ability is started by calling startAbilityForResult, the result is returned to the caller in the form of a promise when terminateSelfWithResult is called. Otherwise, no result is returned to the caller when terminateSelfWithResult is called.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
parameterAbilityResultYesInformation returned to the caller.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  bundleName: "com.extreme.myapplication",
  abilityName: "SecondAbility"
}
var resultCode = 100;
// AbilityResult information returned to the caller.
var abilityResult = {
  want,
  resultCode
}

try {
  this.context.terminateSelfWithResult(abilityResult)
    .then((data) => {
      // Carry out normal service processing.
      console.log('terminateSelfWithResult succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('terminateSelfWithResult failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.connectServiceExtensionAbility

connectServiceExtensionAbility(want: Want, options: ConnectOptions): number;

Uses the AbilityInfo.AbilityType.SERVICE template to connect this ability to another ability.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
optionsConnectOptionsYesParameters for the connection.

Return value

TypeDescription
numberResult code of the ability connection.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var options = {
  onConnect(elementName, remote) { console.log('----------- onConnect -----------') },
  onDisconnect(elementName) { console.log('----------- onDisconnect -----------') },
  onFailed(code) { console.log('----------- onFailed -----------') }
}

var connection = null;
try {
  connection = this.context.connectServiceExtensionAbility(want, options);
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.connectServiceExtensionAbilityWithAccount

connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number;

Uses the AbilityInfo.AbilityType.SERVICE template to connect this ability to another ability with the account ID specified.

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
optionsConnectOptionsYesParameters for the connection.

Return value

TypeDescription
numberResult code of the ability connection.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;
var options = {
  onConnect(elementName, remote) { console.log('----------- onConnect -----------') },
  onDisconnect(elementName) { console.log('----------- onDisconnect -----------') },
  onFailed(code) { console.log('----------- onFailed -----------') }
}

var connection = null;
try {
  connection = this.context.connectServiceExtensionAbilityWithAccount(want, accountId, options);
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.disconnectServiceExtensionAbility

disconnectServiceExtensionAbility(connection: number): Promise<void>;

Disconnects a connection. This API uses a promise to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
connectionnumberYesResult code of the ability connection.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

// connection is the return value of connectServiceExtensionAbility.
var connection = 1;

try {
  this.context.disconnectServiceExtensionAbility(connection)
    .then((data) => {
      // Carry out normal service processing.
      console.log('disconnectServiceExtensionAbility succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('disconnectServiceExtensionAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.disconnectServiceExtensionAbility

disconnectServiceExtensionAbility(connection: number, callback:AsyncCallback<void>): void;

Disconnects a connection. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
connectionnumberYesResult code of the ability connection.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

// connection is the return value of connectServiceExtensionAbility.
var connection = 1;

try {
  this.context.disconnectServiceExtensionAbility(connection, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('disconnectServiceExtensionAbility failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('disconnectServiceExtensionAbility succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityByCall

startAbilityByCall(want: Want): Promise<Caller>;

Starts an ability in the foreground or background and obtains the caller object for communicating with the ability.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • The rules for using this API in the same-device and cross-device scenarios are different. For details, see Component Startup Rules (Stage Model).

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesInformation about the ability to start, including abilityName, moduleName, bundleName, deviceId (optional), and parameters (optional). If deviceId is left blank or null, the local ability is started. If parameters is left blank or null, the ability is started in the background.

Return value

TypeDescription
Promise<Caller>Promise used to return the caller object to communicate with.

Example

Start an ability in the background.

var caller = undefined;

// Start an ability in the background by not passing parameters.
var wantBackground = {
    bundleName: "com.example.myservice",
    moduleName: "entry",
    abilityName: "EntryAbility",
    deviceId: ""
};

try {
  this.context.startAbilityByCall(wantBackground)
    .then((obj) => {
      // Carry out normal service processing.
      caller = obj;
      console.log('startAbilityByCall succeed');
    }).catch((error) => {
      // Process service logic errors.
      console.log('startAbilityByCall failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

Start an ability in the foreground.

var caller = undefined;

// Start an ability in the foreground with ohos.aafwk.param.callAbilityToForeground in parameters set to true.
var wantForeground = {
    bundleName: "com.example.myservice",
    moduleName: "entry",
    abilityName: "EntryAbility",
    deviceId: "",
    parameters: {
      "ohos.aafwk.param.callAbilityToForeground": true
    }
};

try {
  this.context.startAbilityByCall(wantForeground)
    .then((obj) => {
      // Carry out normal service processing.
      caller = obj;
      console.log('startAbilityByCall succeed');
    }).catch((error) => {
      // Process service logic errors.
      console.log('startAbilityByCall failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityWithAccount

startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void;

Starts an ability with the account ID specified. This API uses an asynchronous callback to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;

try {
  this.context.startAbilityWithAccount(want, accountId, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('startAbilityWithAccount succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityWithAccount

startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>): void;

Starts an ability with the account ID and start options specified. This API uses an asynchronous callback to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
optionsStartOptionsYesParameters used for starting the ability.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;
var options = {
  windowMode: 0
};

try {
  this.context.startAbilityWithAccount(want, accountId, options, (error) => {
    if (error.code) {
      // Process service logic errors.
      console.log('startAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
      return;
    }
    // Carry out normal service processing.
    console.log('startAbilityWithAccount succeed');
  });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.startAbilityWithAccount

startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<void>;

Starts an ability with the account ID specified. This API uses a promise to return the result.

Observe the following when using this API:

  • If an application running in the background needs to call this API to start an ability, it must have the ohos.permission.START_ABILITIES_FROM_BACKGROUND permission.
  • If visible of the target ability is false in cross-application scenarios, the caller must have the ohos.permission.START_INVISIBLE_ABILITY permission.
  • For details about the startup rules for the components in the stage model, see Component Startup Rules (Stage Model).

Required permissions: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS (required only when the account ID is not the current user)

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
wantWantYesWant information about the target ability.
accountIdnumberYesID of a system account. For details, see getCreatedOsAccountsCount.
optionsStartOptionsNoParameters used for starting the ability.

Error codes

IDError Message
401If the input parameter is not valid parameter.

For details about the error codes, see Ability Error Codes.

Example

var want = {
  deviceId: "",
  bundleName: "com.example.myapplication",
  abilityName: "EntryAbility"
};
var accountId = 100;
var options = {
  windowMode: 0
};

try {
  this.context.startAbilityWithAccount(want, accountId, options)
    .then((data) => {
      // Carry out normal service processing.
      console.log('startAbilityWithAccount succeed');
    })
    .catch((error) => {
      // Process service logic errors.
      console.log('startAbilityWithAccount failed, error.code: ' + JSON.stringify(error.code) +
        ' error.message: ' + JSON.stringify(error.message));
    });
} catch (paramError) {
  // Process input parameter errors.
  console.log('error.code: ' + JSON.stringify(paramError.code) +
    ' error.message: ' + JSON.stringify(paramError.message));
}

AbilityContext.setMissionLabel

setMissionLabel(label: string, callback:AsyncCallback<void>): void;

Sets a label for this ability in the mission. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
labelstringYesLabel of the ability to set.
callbackAsyncCallback<void>YesCallback used to return the result.

Example

this.context.setMissionLabel("test",(result) => {
    console.log('setMissionLabel result:' + JSON.stringify(result));
});

AbilityContext.setMissionLabel

setMissionLabel(label: string): Promise<void>;

Sets a label for this ability in the mission. This API uses a promise to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
labelstringYesLabel of the ability to set.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Example

this.context.setMissionLabel("test").then(() => {
    console.log('success');
}).catch((error) => {
    console.log('failed:' + JSON.stringify(error));
});

AbilityContext.setMissionIcon

setMissionIcon(icon: image.PixelMap, callback:AsyncCallback<void>): void;

Sets an icon for this ability in the mission. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
iconimage.PixelMapYesIcon of the ability to set.
callbackAsyncCallback<void>YesCallback used to return the result.

Example

  import image from '@ohos.multimedia.image';
  var imagePixelMap;
  var color = new ArrayBuffer(0);
  var initializationOptions = {
     size: {
         height: 100,
         width: 100
     }
  };
  image.createPixelMap(color, initializationOptions)
     .then((data) => {
         imagePixelMap = data;
     })
     .catch((err) => {
         console.log('--------- createPixelMap fail, err: ---------', err)
     });
  this.context.setMissionIcon(imagePixelMap, (err) => {
     console.log('---------- setMissionIcon fail, err: -----------', err);
  })

AbilityContext.setMissionIcon

setMissionIcon(icon: image.PixelMap): Promise<void>;

Sets an icon for this ability in the mission. This API uses a promise to return the result.

System capability: SystemCapability.Ability.AbilityRuntime.Core

System API: This is a system API and cannot be called by third-party applications.

Parameters

NameTypeMandatoryDescription
iconimage.PixelMapYesIcon of the ability to set.

Return value

TypeDescription
Promise<void>Promise used to return the result.

Example

  import image from '@ohos.multimedia.image';
  var imagePixelMap;
  var color = new ArrayBuffer(0);
  var initializationOptions = {
    size: {
        height: 100,
        width: 100
    }
  };
  image.createPixelMap(color, initializationOptions)
    .then((data) => {
        imagePixelMap = data;
    })
    .catch((err) => {
        console.log('--------- createPixelMap fail, err: ---------', err)
    });
  this.context.setMissionIcon(imagePixelMap)
    .then(() => {
        console.log('-------------- setMissionIcon success -------------');
    })
    .catch((err) => {
        console.log('-------------- setMissionIcon fail, err: -------------', err);
    });

AbilityContext.restoreWindowStage

restoreWindowStage(localStorage: LocalStorage) : void;

Restores the window stage data for this ability.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Parameters

NameTypeMandatoryDescription
localStorageLocalStorageYesStorage used to store the restored window stage.

Example

  var storage = new LocalStorage();
  this.context.restoreWindowStage(storage);

AbilityContext.isTerminating

isTerminating(): boolean;

Checks whether this ability is in the terminating state.

System capability: SystemCapability.Ability.AbilityRuntime.Core

Return value

TypeDescription
booleanThe value true means that the ability is in the terminating state, and false means the opposite.

Example

var isTerminating = this.context.isTerminating();
console.log('ability state :' + isTerminating);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager)

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

harmony 鸿蒙@ohos.WorkSchedulerExtensionAbility (Work Scheduler Callbacks)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/912b98c3ed57472d9ae32b354248d67f