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

2022-12-05 浏览 (742)

@ohos.bundle.appControl (appControl)

The appControl module provides APIs for setting, obtaining, and deleting the disposed status of an application. An application in the disposed status is forbidden to run. When a user clicks the application icon on the home screen, the corresponding page is displayed based on the disposal intent.

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 provided by this module are system APIs.

Modules to Import

import appControl from '@ohos.bundle.appControl'

appControl.setDisposedStatus

setDisposedStatus(appId: string, disposedWant: Want): Promise<void>

Sets the disposed status for an application. This API uses a promise to return the result. If the operation is successful, null is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.
disposedWantWantYesDisposal intent of the application.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import appControl from '@ohos.bundle.appControl';

let appId = "com.example.myapplication_xxxxx";
let want:Want = {bundleName: 'com.example.myapplication'};

try {
    appControl.setDisposedStatus(appId, want)
        .then(() => {
            console.info('setDisposedStatus success');
        }).catch((error: BusinessError) => {
            let message = (error as BusinessError).message;
            console.error('setDisposedStatus failed ' + message);
        });
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('setDisposedStatus failed ' + message);
}

appControl.setDisposedStatus

setDisposedStatus(appId: string, disposedWant: Want, callback: AsyncCallback<void>): void;

Sets the disposed status for an application. This API uses an asynchronous callback to return the result. If the operation is successful, null is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.
disposedWantWantYesDisposal intent of the application.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is null; otherwise, err is an error object.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';

let appId = "com.example.myapplication_xxxxx";
let want: Want = {bundleName: 'com.example.myapplication'};

try {
  appControl.setDisposedStatus(appId, want, (error: BusinessError, data) => {
    if (error) {
      let message = (error as BusinessError).message;
      console.error('setDisposedStatus failed ' + message);
      return;
    }
    console.info('setDisposedStatus success');
  });
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('setDisposedStatus failed ' + message);
}

appControl.setDisposedStatusSync10+

setDisposedStatusSync(appId: string, disposedWant: Want): void;

Sets the disposed status for an application. This API is a synchronous API. If the operation is successful, null is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.
disposedWantWantYesDisposal intent of the application.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';

let appId: string = "com.example.myapplication_xxxxx";
let want: Want = {bundleName: 'com.example.myapplication'};

try {
  appControl.setDisposedStatusSync(appId, want);
} catch (error) {
  let message = (error as BusinessError).message;
  console.error('setDisposedStatusSync failed ' + message);
}

appControl.getDisposedStatus

getDisposedStatus(appId: string): Promise<Want>;

Obtains the disposed status of an application. This API uses a promise to return the result. If the operation is successful, the disposed status of the application is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.

Return value

TypeDescription
Promise<Want>Promise used to return the disposed status.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';

let appId = "com.example.myapplication_xxxxx";

try {
  appControl.getDisposedStatus(appId)
    .then((data) => {
      console.info('getDisposedStatus success. DisposedStatus: ' + JSON.stringify(data));
    }).catch((error: BusinessError) => {
    let message = (error as BusinessError).message;
    console.error('getDisposedStatus failed ' + message);
  });
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('getDisposedStatus failed ' + message);
}

appControl.getDisposedStatus

getDisposedStatus(appId: string, callback: AsyncCallback<Want>): void;

Obtains the disposed status of an application. This API uses an asynchronous callback to return the result. If the operation is successful, the disposed status of the application is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.
callbackAsyncCallback<Want>YesCallback used to return the result. If the operation is successful, err is null and data is the disposed status obtained; otherwise, err is an error object.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';

let appId = "com.example.myapplication_xxxxx";

try {
  appControl.getDisposedStatus(appId, (error, data) => {
    if (error) {
      let message = (error as BusinessError).message;
      console.error('getDisposedStatus failed ' + message);
      return;
    }
    console.info('getDisposedStatus success. DisposedStatus: ' + JSON.stringify(data));
  });
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('getDisposedStatus failed ' + message);
}

appControl.getDisposedStatusSync10+

getDisposedStatusSync(appId: string): Want;

Obtains the disposed status of an application. This API is a synchronous API. If the operation is successful, the disposed status of the application is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.

Return value

TypeDescription
WantDisposed status.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';

let appId: string = "com.example.myapplication_xxxxx";
let want: Want;

try {
    want = appControl.getDisposedStatusSync(appId);
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('getDisposedStatusSync failed ' + message);
}

appControl.deleteDisposedStatus

deleteDisposedStatus(appId: string): Promise<void>

Deletes the disposed status for an application. This API uses a promise to return the result. If the operation is successful, null is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';

let appId = "com.example.myapplication_xxxxx";

try {
  appControl.deleteDisposedStatus(appId)
    .then(() => {
      console.info('deleteDisposedStatus success');
    }).catch((error: BusinessError) => {
      let message = (error as BusinessError).message;
      console.error('deleteDisposedStatus failed ' + message);
  });
} catch (error) {
  let message = (error as BusinessError).message;
  console.error('deleteDisposedStatus failed ' + message);
}

appControl.deleteDisposedStatus

deleteDisposedStatus(appId: string, callback: AsyncCallback<void>) : void

Deletes the disposed status for an application. This API uses an asynchronous callback to return the result. If the operation is successful, null is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is null; otherwise, err is an error object.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';

let appId = "com.example.myapplication_xxxxx";
try {
  appControl.deleteDisposedStatus(appId, (error: BusinessError, data) => {
    if (error) {
      console.error('deleteDisposedStatus failed ' + error.message);
      return;
    }
    console.info('deleteDisposedStatus success');
  });
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('deleteDisposedStatus failed ' + message);
}

appControl.deleteDisposedStatusSync10+

deleteDisposedStatusSync(appId: string) : void

Deletes the disposed status for an application. This API is a synchronous API. If the operation is successful, null is returned. If the operation fails, an error message is returned.

Required permissions: ohos.permission.MANAGE_DISPOSED_APP_STATUS

System capability: SystemCapability.BundleManager.BundleFramework.AppControl

System API: This is a system API.

Parameters

NameTypeMandatoryDescription
appIdstringYesID of the target application.
appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. For details about how to obtain appId, see Obtaining appId of an Application.

Error codes

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

IDError Message
17700005The specified app ID is empty string.

Example

import appControl from '@ohos.bundle.appControl';
import { BusinessError } from '@ohos.base';

let appId: string = "com.example.myapplication_xxxxx";

try {
    appControl.deleteDisposedStatusSync(appId);
} catch (error) {
    let message = (error as BusinessError).message;
    console.error('deleteDisposedStatusSync failed ' + message);
}

Obtaining appId of an Application

appId is the unique identifier of an application and is determined by the bundle name and signature information of the application. It can be obtained by calling getBundleInfo.

Example

import bundleManager from '@ohos.bundle.bundleManager';
import { BusinessError } from '@ohos.base';

let bundleName = 'com.example.myapplication';
let appId: string;
try {
  bundleManager.getBundleInfo(bundleName, bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO)
    .then((data) => {
      appId = data.signatureInfo.appId;
      console.info("appId is " + appId);
    }).catch((error: BusinessError) => {
      let message = (error as BusinessError).message;
      console.error("getBundleInfo failed " + message);
  });
} catch (error) {
    let message = (error as BusinessError).message;
    console.error("getBundleInfo failed " + message);
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

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

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

harmony 鸿蒙@ohos.bundle (Bundle)

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

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