未验证 提交 5abb985a 编写于 作者: O openharmony_ci 提交者: Gitee

!3130 Done! 2866:website修改+RN修改

Merge pull request !3130 from wusongqing/TR2866
# JS API Changes of the Ability Framework
The table below lists the APIs changes of the ability framework in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| featureability | FeatureAbility | static getDeviceList(flag: number): Promise<Result>; | Added|
| customizeData | CustomizeData | extra: string; | Added|
| applicationInfo | ApplicationInfo | readonly entityType: string; | Added|
| applicationInfo | ApplicationInfo | readonly uid: number; | Added|
| applicationInfo | ApplicationInfo | readonly accessTokenId: number; | Added|
| applicationInfo | ApplicationInfo | readonly removable: boolean; | Added|
| applicationInfo | ApplicationInfo | readonly metaData: Map<string, Array<CustomizeData>>; | Added|
| applicationInfo | ApplicationInfo | readonly codePath: string; | Added|
| applicationInfo | ApplicationInfo | readonly moduleInfos: Array<ModuleInfo>; | Added|
| shellCmdResult | ShellCmdResult | exitCode: number; | Added|
| shellCmdResult | ShellCmdResult | stdResult: String; | Added|
| ProcessRunningInfo | ProcessRunningInfo | bundleNames: Array<string>; | Added|
| ProcessRunningInfo | ProcessRunningInfo | processName: string; | Added|
| ProcessRunningInfo | ProcessRunningInfo | uid: number; | Added|
| ProcessRunningInfo | ProcessRunningInfo | pid: number; | Added|
| BaseContext | BaseContext | stageMode: boolean; | Added|
| abilityDelegatorArgs | AbilityDelegatorArgs | testRunnerClassName: string; | Added|
| abilityDelegatorArgs | AbilityDelegatorArgs | testCaseNames: string; | Added|
| abilityDelegatorArgs | AbilityDelegatorArgs | parameters: {[key: string]: string}; | Added|
| abilityDelegatorArgs | AbilityDelegatorArgs | bundleName: string; | Added|
| abilityDelegator | AbilityDelegator | executeShellCommand(cmd: string, callback: AsyncCallback<ShellCmdResult>): void;<br>executeShellCommand(cmd: string, timeoutSecs: number, callback: AsyncCallback<ShellCmdResult>): void;<br>executeShellCommand(cmd: string, timeoutSecs?: number): Promise<ShellCmdResult>; | Added|
| abilityDelegator | AbilityDelegator | print(msg: string, callback: AsyncCallback<void>): void;<br>print(msg: string): Promise<void>; | Added|
| context | Context | printDrawnCompleted(callback: AsyncCallback<void>): void;<br>printDrawnCompleted(): Promise<void>; | Added|
| context | Context | isUpdatingConfigurations(callback: AsyncCallback<boolean>): void;<br>isUpdatingConfigurations(): Promise<boolean>; | Added|
| context | Context | getAbilityInfo(callback: AsyncCallback<AbilityInfo>): void<br>getAbilityInfo(): Promise<AbilityInfo>; | Added|
| context | Context | getApplicationContext(): Context; | Added|
| context | Context | getAppVersionInfo(callback: AsyncCallback<AppVersionInfo>): void<br>getAppVersionInfo(): Promise<AppVersionInfo>; | Added|
| context | Context | getHapModuleInfo(callback: AsyncCallback<HapModuleInfo>): void<br>getHapModuleInfo(): Promise<HapModuleInfo>; | Added|
| context | Context | getAppType(callback: AsyncCallback<string>): void<br>getAppType(): Promise<string>; | Added|
| context | Context | getOrCreateDistributedDir(): Promise<string>;<br>getOrCreateDistributedDir(callback: AsyncCallback<string>): void; | Added|
| context | Context | getCacheDir(callback: AsyncCallback<string>): void;<br>getCacheDir(): Promise<string>; | Added|
| context | Context | getFilesDir(callback: AsyncCallback<string>): void;<br>getFilesDir(): Promise<string>; | Added|
| context | Context | setWakeUpScreen(wakeUp: boolean, callback: AsyncCallback<void>): void<br>setWakeUpScreen(wakeUp: boolean): Promise<void>; | Added|
| context | Context | setShowOnLockScreen(show: boolean, callback: AsyncCallback<void>): void<br>setShowOnLockScreen(show: boolean): Promise<void>; | Added|
| context | Context | setDisplayOrientation(orientation: DisplayOrientation, callback: AsyncCallback<void>): void<br>setDisplayOrientation(orientation: DisplayOrientation): Promise<void>; | Added|
| context | Context | getDisplayOrientation(callback: AsyncCallback<DisplayOrientation>): void<br>getDisplayOrientation(): Promise<DisplayOrientation>; | Added|
| appVersionInfo | AppVersionInfo | readonly versionName: string; | Added|
| appVersionInfo | AppVersionInfo | readonly versionCode: number; | Added|
| appVersionInfo | AppVersionInfo | readonly appName: string; | Added|
| dataAbilityHelper | PacMap | [key: string]: number \| string \| boolean \| Array<string \| number \| boolean> \| null; | Added|
| dataAbilityHelper | DataAbilityHelper | executeBatch(uri: string, operations: Array<DataAbilityOperation>, callback: AsyncCallback<Array<DataAbilityResult>>): void;<br>executeBatch(uri: string, operations: Array<DataAbilityOperation>): Promise<Array<DataAbilityResult>>; | Added|
| dataAbilityHelper | DataAbilityHelper | call(uri: string, method: string, arg: string, extras: PacMap, callback: AsyncCallback<PacMap>): void;<br>call(uri: string, method: string, arg: string, extras: PacMap): Promise<PacMap>; | Added|
| ohos.application.Want | Want | entities?: Array<string>; | Added|
| ohos.application.Want | Want | parameters?: {[key: string]: any}; | Added|
| ohos.application.Want | Want | action?: string; | Added|
| ohos.application.Want | Want | flags?: number; | Added|
| ohos.application.Want | Want | type?: string; | Added|
| ohos.application.Want | Want | uri?: string; | Added|
| ohos.application.Want | Want | abilityName?: string; | Added|
| ohos.application.Want | Want | bundleName?: string; | Added|
| ohos.application.Want | Want | deviceId?: string; | Added|
| ohos.application.testRunner | TestRunner | onRun(): void; | Added|
| ohos.application.testRunner | TestRunner | onPrepare(): void; | Added|
| ohos.application.formProvider | formProvider | function updateForm(formId: string, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback<void>): void;<br>function updateForm(formId: string, formBindingData: formBindingData.FormBindingData): Promise<void>; | Added|
| ohos.application.formProvider | formProvider | function setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback<void>): void;<br>function setFormNextRefreshTime(formId: string, minute: number): Promise<void>; | Added|
| ohos.application.formInfo | FormParam | TEMPORARY_KEY = "ohos.extra.param.key.form_temporary" | Added|
| ohos.application.formInfo | FormParam | HEIGHT_KEY = "ohos.extra.param.key.form_height" | Added|
| ohos.application.formInfo | FormParam | WIDTH_KEY = "ohos.extra.param.key.form_width" | Added|
| ohos.application.formInfo | FormParam | MODULE_NAME_KEY = "ohos.extra.param.key.module_name" | Added|
| ohos.application.formInfo | FormParam | NAME_KEY = "ohos.extra.param.key.form_name" | Added|
| ohos.application.formInfo | FormParam | DIMENSION_KEY = "ohos.extra.param.key.form_dimension" | Added|
| ohos.application.formInfo | FormState | READY = 1 | Added|
| ohos.application.formInfo | FormState | DEFAULT = 0 | Added|
| ohos.application.formInfo | FormState | UNKNOWN = -1 | Added|
| ohos.application.formInfo | FormStateInfo | want: Want; | Added|
| ohos.application.formInfo | FormStateInfo | formState: FormState; | Added|
| ohos.application.formInfo | ColorMode | MODE_LIGHT = 1 | Added|
| ohos.application.formInfo | ColorMode | MODE_DARK = 0 | Added|
| ohos.application.formInfo | ColorMode | MODE_AUTO = -1 | Added|
| ohos.application.formInfo | FormType | JS = 1 | Added|
| ohos.application.formInfo | FormInfo | customizeData: {[key: string]: [value: string]}; | Added|
| ohos.application.formInfo | FormInfo | supportDimensions: Array<number>; | Added|
| ohos.application.formInfo | FormInfo | defaultDimension: number; | Added|
| ohos.application.formInfo | FormInfo | updateDuration: number; | Added|
| ohos.application.formInfo | FormInfo | formConfigAbility: string; | Added|
| ohos.application.formInfo | FormInfo | scheduledUpdateTime: string; | Added|
| ohos.application.formInfo | FormInfo | relatedBundleName: string; | Added|
| ohos.application.formInfo | FormInfo | formVisibleNotify: boolean; | Added|
| ohos.application.formInfo | FormInfo | updateEnabled: boolean; | Added|
| ohos.application.formInfo | FormInfo | isDefault: boolean; | Added|
| ohos.application.formInfo | FormInfo | colorMode: ColorMode; | Added|
| ohos.application.formInfo | FormInfo | jsComponentName: string; | Added|
| ohos.application.formInfo | FormInfo | type: FormType; | Added|
| ohos.application.formInfo | FormInfo | description: string; | Added|
| ohos.application.formInfo | FormInfo | name: string; | Added|
| ohos.application.formInfo | FormInfo | abilityName: string; | Added|
| ohos.application.formInfo | FormInfo | moduleName: string; | Added|
| ohos.application.formInfo | FormInfo | bundleName: string; | Added|
| ohos.application.formError | FormError | ERR_IN_RECOVERY = 36 | Added|
| ohos.application.formError | FormError | ERR_FORM_DUPLICATE_ADDED = 31 | Added|
| ohos.application.formError | FormError | ERR_SYSTEM_RESPONSES_FAILED = 30 | Added|
| ohos.application.formError | FormError | ERR_FORM_FA_NOT_INSTALLED = 20 | Added|
| ohos.application.formError | FormError | ERR_FORM_NO_SUCH_DIMENSION = 19 | Added|
| ohos.application.formError | FormError | ERR_FORM_NO_SUCH_ABILITY = 18 | Added|
| ohos.application.formError | FormError | ERR_FORM_NO_SUCH_MODULE = 17 | Added|
| ohos.application.formError | FormError | ERR_MAX_SYSTEM_TEMP_FORMS = 16 | Added|
| ohos.application.formError | FormError | ERR_MAX_FORMS_PER_CLIENT = 15 | Added|
| ohos.application.formError | FormError | ERR_PROVIDER_DEL_FAIL = 14 | Added|
| ohos.application.formError | FormError | ERR_OPERATION_FORM_NOT_SELF = 13 | Added|
| ohos.application.formError | FormError | ERR_MAX_INSTANCES_PER_FORM = 12 | Added|
| ohos.application.formError | FormError | ERR_MAX_SYSTEM_FORMS = 11 | Added|
| ohos.application.formError | FormError | ERR_BIND_PROVIDER_FAILED = 10 | Added|
| ohos.application.formError | FormError | ERR_NOT_EXIST_ID = 9 | Added|
| ohos.application.formError | FormError | ERR_CFG_NOT_MATCH_ID = 8 | Added|
| ohos.application.formError | FormError | ERR_ADD_INVALID_PARAM = 7 | Added|
| ohos.application.formError | FormError | ERR_GET_LAYOUT_FAILED = 6 | Added|
| ohos.application.formError | FormError | ERR_GET_BUNDLE_FAILED = 5 | Added|
| ohos.application.formError | FormError | ERR_GET_INFO_FAILED = 4 | Added|
| ohos.application.formError | FormError | ERR_PERMISSION_DENY = 2 | Added|
| ohos.application.formError | FormError | ERR_COMMON = 1 | Added|
| ohos.application.formBindingData | FormBindingData | data: Object | Added|
| ohos.application.formBindingData | formBindingData | function createFormBindingData(obj?: Object \| string): FormBindingData; | Added|
| ohos.application.ConfigurationConstant | ColorMode | COLOR_MODE_LIGHT = 1 | Added|
| ohos.application.ConfigurationConstant | ColorMode | COLOR_MODE_DARK = 0 | Added|
| ohos.application.ConfigurationConstant | ColorMode | COLOR_MODE_NOT_SET = -1 | Added|
| ohos.application.Configuration | Configuration | colorMode: ConfigurationConstant.ColorMode; | Added|
| ohos.application.Configuration | Configuration | language: string; | Added|
| ohos.application.appManager | appManager | function getAppMemorySize(): Promise<number>;<br>function getAppMemorySize(callback: AsyncCallback<number>): void; | Added|
| ohos.application.appManager | appManager | function isRamConstrainedDevice(): Promise<boolean>;<br>function isRamConstrainedDevice(callback: AsyncCallback<boolean>): void; | Added|
| ohos.application.appManager | appManager | function getProcessRunningInfos(): Promise<Array<ProcessRunningInfo>>;<br>function getProcessRunningInfos(callback: AsyncCallback<Array<ProcessRunningInfo>>): void; | Added|
| ohos.application.appManager | appManager | function isRunningInStabilityTest(callback: AsyncCallback<boolean>): void;<br>function isRunningInStabilityTest(): Promise<boolean>; | Added|
| ohos.application.abilityDelegatorRegistry | AbilityLifecycleState | DESTROY | Added|
| ohos.application.abilityDelegatorRegistry | AbilityLifecycleState | BACKGROUND | Added|
| ohos.application.abilityDelegatorRegistry | AbilityLifecycleState | FOREGROUND | Added|
| ohos.application.abilityDelegatorRegistry | AbilityLifecycleState | CREATE | Added|
| ohos.application.abilityDelegatorRegistry | AbilityLifecycleState | UNINITIALIZED | Added|
| ohos.application.abilityDelegatorRegistry | abilityDelegatorRegistry | function getArguments(): AbilityDelegatorArgs; | Added|
| ohos.application.abilityDelegatorRegistry | abilityDelegatorRegistry | function getAbilityDelegator(): AbilityDelegator; | Added|
| ohos.abilityAccessCtrl | GrantStatus | PERMISSION_GRANTED = 0 | Added|
| ohos.abilityAccessCtrl | GrantStatus | PERMISSION_DENIED = -1 | Added|
| ohos.abilityAccessCtrl | AtManager | verifyAccessToken(tokenID: number, permissionName: string): Promise<GrantStatus>; | Added|
| ohos.abilityAccessCtrl | abilityAccessCtrl | function createAtManager(): AtManager; | Added|
| ohos.ability.wantConstant | Action | ACTION_APP_ACCOUNT_OAUTH = "ohos.account.appAccount.action.oauth" | Added|
| ohos.ability.wantConstant | Action | ACTION_VIDEO_CAPTURE = "ohos.want.action.videoCapture" | Added|
| ohos.ability.wantConstant | Action | ACTION_IMAGE_CAPTURE = "ohos.want.action.imageCapture" | Added|
| ohos.ability.particleAbility | ErrorCode | INVALID_PARAMETER = -1 | Added|
| ohos.ability.particleAbility | particleAbility | function disconnectAbility(connection: number, callback:AsyncCallback<void>): void;<br>function disconnectAbility(connection: number): Promise<void>; | Added|
| ohos.ability.particleAbility | particleAbility | function connectAbility(request: Want, options:ConnectOptions): number; | Added|
| ohos.ability.particleAbility | particleAbility | function cancelBackgroundRunning(callback: AsyncCallback<void>): void;<br>function cancelBackgroundRunning(): Promise<void>; | Added|
| ohos.ability.particleAbility | particleAbility | function startBackgroundRunning(id: number, request: NotificationRequest, callback: AsyncCallback<void>): void;<br>function startBackgroundRunning(id: number, request: NotificationRequest): Promise<void>; | Added|
| ohos.ability.featureAbility | featureAbility | function getWindow(callback: AsyncCallback<window.Window>): void;<br>function getWindow(): Promise<window.Window>; | Added|
| ohos.ability.errorCode | ErrorCode | NO_ERROR = 0 | Added|
| ohos.ability.errorCode | ErrorCode | INVALID_PARAMETER = -1 | Added|
| ohos.ability.errorCode | ErrorCode | ABILITY_NOT_FOUND = -2 | Added|
| ohos.ability.errorCode | ErrorCode | PERMISSION_DENY = -3 | Added|
| lifecycle | LifecycleData | call?(method: string, arg: string, extras: PacMap, callback: AsyncCallback<PacMap>): void; | Added|
| lifecycle | LifecycleData | executeBatch?(ops: Array<DataAbilityOperation>, callback: AsyncCallback<Array<DataAbilityResult>>): void; | Added|
| lifecycle | LifecycleService | onReconnect?(want: Want): void; | Added|
| lifecycle | LifecycleApp | onMemoryLevel?(level: number): void; | Added|
| lifecycle | LifecycleApp | onNewWant?(want: Want): void; | Added|
| lifecycle | LifecycleApp | onActive?(): void; | Added|
| lifecycle | LifecycleApp | onInactive?(): void; | Added|
| lifecycle | LifecycleApp | onRestoreAbilityState?(inState: PacMap): void; | Added|
| lifecycle | LifecycleApp | onSaveAbilityState?(outState: PacMap): void; | Added|
| lifecycle | LifecycleForm | onAcquireFormState?(want: Want): formInfo.FormState; | Added|
| lifecycle | LifecycleForm | onDestroy?(formId: string): void; | Added|
| lifecycle | LifecycleForm | onEvent?(formId: string, message: string): void; | Added|
| lifecycle | LifecycleForm | onVisibilityChange?(newStatus: { [key: string]: number }): void; | Added|
| lifecycle | LifecycleForm | onUpdate?(formId: string): void; | Added|
| lifecycle | LifecycleForm | onCastToNormal?(formId: string): void; | Added|
| lifecycle | LifecycleForm | onCreate?(want: Want): formBindingData.FormBindingData; | Added|
# JS API Changes of the Accessibility Subsystem
The table below lists the APIs changes of the accessibility subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.accessibility | EventInfo | itemCount?: number; | Added|
| ohos.accessibility | EventInfo | endIndex?: number; | Added|
| ohos.accessibility | EventInfo | currentIndex?: number; | Added|
| ohos.accessibility | EventInfo | beginIndex?: number; | Added|
| ohos.accessibility | EventInfo | lastContent?: string; | Added|
| ohos.accessibility | EventInfo | contents?: Array<string>; | Added|
| ohos.accessibility | EventInfo | textMoveUnit?: TextMoveUnit; | Added|
| ohos.accessibility | EventInfo | triggerAction: Action; | Added|
| ohos.accessibility | EventInfo | description?: string; | Added|
| ohos.accessibility | EventInfo | pageId ?: number; | Added|
| ohos.accessibility | EventInfo | componentType?: string; | Added|
| ohos.accessibility | EventInfo | bundleName: string; | Added|
| ohos.accessibility | EventInfo | windowUpdateType?: WindowUpdateType; | Added|
| ohos.accessibility | EventInfo | type: EventType; | Added|
| ohos.accessibility | EventInfo | constructor(jsonObject); | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly eventTypes: Array<EventType>; | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly description: string; | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly capabilities: Array<Capability>; | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly abilityTypes: Array<AbilityType>; | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly bundleName: string; | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly name: string; | Added|
| ohos.accessibility | AccessibilityAbilityInfo | readonly id: string; | Added|
| ohos.accessibility | CaptionsStyle | windowColor: number \| string; | Added|
| ohos.accessibility | CaptionsStyle | backgroundColor: number \| string; | Added|
| ohos.accessibility | CaptionsStyle | fontEdgeType: CaptionsFontEdgeType; | Added|
| ohos.accessibility | CaptionsStyle | fontColor: number \| string; | Added|
| ohos.accessibility | CaptionsStyle | fontScale: number; | Added|
| ohos.accessibility | CaptionsStyle | fontFamily: CaptionsFontFamily; | Added|
| ohos.accessibility | CaptionsManager | off(type: 'styleChange', callback?: Callback<CaptionsStyle>): void; | Added|
| ohos.accessibility | CaptionsManager | off(type: 'enableChange', callback?: Callback<boolean>): void; | Added|
| ohos.accessibility | CaptionsManager | on(type: 'styleChange', callback: Callback<CaptionsStyle>): void; | Added|
| ohos.accessibility | CaptionsManager | on(type: 'enableChange', callback: Callback<boolean>): void; | Added|
| ohos.accessibility | CaptionsManager | style: CaptionsStyle; | Added|
| ohos.accessibility | CaptionsManager | enabled: boolean; | Added|
| ohos.accessibility | accessibility | function getCaptionsManager(): CaptionsManager; | Added|
| ohos.accessibility | accessibility | function off(type: 'touchGuideStateChange', callback?: Callback<boolean>): void; | Added|
| ohos.accessibility | accessibility | function off(type: 'accessibilityStateChange', callback?: Callback<boolean>): void; | Added|
| ohos.accessibility | accessibility | function on(type: 'touchGuideStateChange', callback: Callback<boolean>): void; | Added|
| ohos.accessibility | accessibility | function on(type: 'accessibilityStateChange', callback: Callback<boolean>): void; | Added|
| ohos.accessibility | accessibility | function sendEvent(event: EventInfo, callback: AsyncCallback<void>): void;<br>function sendEvent(event: EventInfo): Promise<void>; | Added|
| ohos.accessibility | accessibility | function getAbilityLists(abilityType: AbilityType, stateType: AbilityState, callback: AsyncCallback<Array<AccessibilityAbilityInfo>>): void;<br>function getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise<Array<AccessibilityAbilityInfo>>; | Added|
| ohos.accessibility | accessibility | function isOpenTouchGuide(callback: AsyncCallback<boolean>): void;<br>function isOpenTouchGuide(): Promise<boolean>; | Added|
| ohos.accessibility | accessibility | function isOpenAccessibility(callback: AsyncCallback<boolean>): void;<br>function isOpenAccessibility(): Promise<boolean>; | Added|
# JS API Changes of the Account Subsystem
The table below lists the APIs changes of the account subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.account.osAccount | OsAccountType | GUEST | Added|
| ohos.account.osAccount | OsAccountType | NORMAL | Added|
| ohos.account.osAccount | OsAccountType | ADMIN = 0 | Added|
| ohos.account.osAccount | DomainAccountInfo | accountName: string; | Added|
| ohos.account.osAccount | DomainAccountInfo | domain: string; | Added|
| ohos.account.osAccount | OsAccountInfo | domainInfo: DomainAccountInfo; | Added|
| ohos.account.osAccount | OsAccountInfo | distributedInfo: distributedAccount.DistributedInfo; | Added|
| ohos.account.osAccount | OsAccountInfo | isCreateCompleted: boolean; | Added|
| ohos.account.osAccount | OsAccountInfo | isActived: boolean; | Added|
| ohos.account.osAccount | OsAccountInfo | serialNumber: number; | Added|
| ohos.account.osAccount | OsAccountInfo | lastLoginTime: number; | Added|
| ohos.account.osAccount | OsAccountInfo | createTime: number; | Added|
| ohos.account.osAccount | OsAccountInfo | photo: string; | Added|
| ohos.account.osAccount | OsAccountInfo | isVerified: boolean; | Added|
| ohos.account.osAccount | OsAccountInfo | constraints: Array<string>; | Added|
| ohos.account.osAccount | OsAccountInfo | type: OsAccountType; | Added|
| ohos.account.osAccount | OsAccountInfo | localName: string; | Added|
| ohos.account.osAccount | OsAccountInfo | localId: number; | Added|
| ohos.account.osAccount | AccountManager | getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback<number>): void;<br>getSerialNumberByOsAccountLocalId(localId: number): Promise<number>; | Added|
| ohos.account.osAccount | AccountManager | getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback<number>): void;<br>getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise<number>; | Added|
| ohos.account.osAccount | AccountManager | getDistributedVirtualDeviceId(callback: AsyncCallback<string>): void;<br>getDistributedVirtualDeviceId(): Promise<string>; | Added|
| ohos.account.osAccount | AccountManager | getOsAccountTypeFromProcess(callback: AsyncCallback<OsAccountType>): void;<br>getOsAccountTypeFromProcess(): Promise<OsAccountType>; | Added|
| ohos.account.osAccount | AccountManager | queryCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void;<br>queryCurrentOsAccount(): Promise<OsAccountInfo>; | Added|
| ohos.account.osAccount | AccountManager | queryActivatedOsAccountIds(callback: AsyncCallback<Array<number>>): void;<br>queryActivatedOsAccountIds(): Promise<Array<number>>; | Added|
| ohos.account.osAccount | AccountManager | getOsAccountAllConstraints(localId: number, callback: AsyncCallback<Array<string>>): void;<br>getOsAccountAllConstraints(localId: number): Promise<Array<string>>; | Added|
| ohos.account.osAccount | AccountManager | getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback<number>): void;<br>getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise<number>; | Added|
| ohos.account.osAccount | AccountManager | getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback<number>): void;<br>getOsAccountLocalIdFromUid(uid: number): Promise<number>; | Added|
| ohos.account.osAccount | AccountManager | getOsAccountLocalIdFromProcess(callback: AsyncCallback<number>): void;<br>getOsAccountLocalIdFromProcess(): Promise<number>; | Added|
| ohos.account.osAccount | AccountManager | getCreatedOsAccountsCount(callback: AsyncCallback<number>): void;<br>getCreatedOsAccountsCount(): Promise<number>; | Added|
| ohos.account.osAccount | AccountManager | isOsAccountVerified(callback: AsyncCallback<boolean>): void;<br>isOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void;<br>isOsAccountVerified(localId?: number): Promise<boolean>; | Added|
| ohos.account.osAccount | AccountManager | isTestOsAccount(callback: AsyncCallback<boolean>): void;<br>isTestOsAccount(): Promise<boolean>; | Added|
| ohos.account.osAccount | AccountManager | isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback<boolean>): void;<br>isOsAccountConstraintEnable(localId: number, constraint: string): Promise<boolean>; | Added|
| ohos.account.osAccount | AccountManager | isOsAccountActived(localId: number, callback: AsyncCallback<boolean>): void;<br>isOsAccountActived(localId: number): Promise<boolean>; | Added|
| ohos.account.osAccount | AccountManager | isMultiOsAccountEnable(callback: AsyncCallback<boolean>): void;<br>isMultiOsAccountEnable(): Promise<boolean>; | Added|
| ohos.account.osAccount | osAccount | function getAccountManager(): AccountManager; | Added|
| ohos.account.appAccount | Authenticator | authenticate(name: string, authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void; | Added|
| ohos.account.appAccount | Authenticator | addAccountImplicitly(authType: string, callerBundleName: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void; | Added|
| ohos.account.appAccount | AuthenticatorCallback | onRequestRedirected: (request: Want) => void; | Added|
| ohos.account.appAccount | AuthenticatorCallback | onResult: (code: number, result: {[key: string]: any}) => void; | Added|
| ohos.account.appAccount | ResultCode | ERROR_PERMISSION_DENIED = 10018 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_UNSUPPORT_AUTH_TYPE = 10017 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_UNSUPPORT_ACTION = 10016 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_TOKEN_TOO_MANY = 10015 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_TOKEN_NOT_EXIST = 10014 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_TIMEOUT = 10013 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_SESSION_NOT_EXIST = 10012 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_SERVICE_EXCEPTION = 10011 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_SERVICE_BUSY = 10010 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_LIST_TOO_LARGE = 10009 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_CANCELED = 10008 | Added|
| ohos.account.appAccount | ResultCode | ERROR_OAUTH_AUTHENTICATOR_NOT_EXIST = 10007 | Added|
| ohos.account.appAccount | ResultCode | ERROR_NETWORK_EXCEPTION = 10006 | Added|
| ohos.account.appAccount | ResultCode | ERROR_INVALID_RESPONSE = 10005 | Added|
| ohos.account.appAccount | ResultCode | ERROR_INVALID_REQUEST = 10004 | Added|
| ohos.account.appAccount | ResultCode | ERROR_INVALID_PASSWORD = 10003 | Added|
| ohos.account.appAccount | ResultCode | ERROR_APP_ACCOUNT_SERVICE_EXCEPTION = 10002 | Added|
| ohos.account.appAccount | ResultCode | ERROR_ACCOUNT_NOT_EXIST = 10001 | Added|
| ohos.account.appAccount | ResultCode | SUCCESS = 0 | Added|
| ohos.account.appAccount | Constants | KEY_CALLER_BUNDLE_NAME = "callerBundleName" | Added|
| ohos.account.appAccount | Constants | KEY_CALLER_UID = "callerUid" | Added|
| ohos.account.appAccount | Constants | KEY_CALLER_PID = "callerPid" | Added|
| ohos.account.appAccount | Constants | KEY_SESSION_ID = "sessionId" | Added|
| ohos.account.appAccount | Constants | KEY_AUTH_TYPE = "authType" | Added|
| ohos.account.appAccount | Constants | KEY_ACTION = "action" | Added|
| ohos.account.appAccount | Constants | KEY_TOKEN = "token" | Added|
| ohos.account.appAccount | Constants | KEY_OWNER = "owner" | Added|
| ohos.account.appAccount | Constants | KEY_NAME = "name" | Added|
| ohos.account.appAccount | Constants | ACTION_AUTHENTICATE = "authenticate" | Added|
| ohos.account.appAccount | Constants | ACTION_ADD_ACCOUNT_IMPLICITLY = "addAccountImplicitly" | Added|
| ohos.account.appAccount | AuthenticatorInfo | labelId: number; | Added|
| ohos.account.appAccount | AuthenticatorInfo | iconId: number; | Added|
| ohos.account.appAccount | AuthenticatorInfo | owner: string; | Added|
| ohos.account.appAccount | OAuthTokenInfo | token: string; | Added|
| ohos.account.appAccount | OAuthTokenInfo | authType: string; | Added|
| ohos.account.appAccount | AppAccountInfo | name: string; | Added|
| ohos.account.appAccount | AppAccountInfo | owner: string; | Added|
| ohos.account.appAccount | AppAccountManager | getAuthenticatorInfo(owner: string, callback: AsyncCallback<AuthenticatorInfo>): void;<br>getAuthenticatorInfo(owner: string): Promise<AuthenticatorInfo>; | Added|
| ohos.account.appAccount | AppAccountManager | getAuthenticatorCallback(sessionId: string, callback: AsyncCallback<AuthenticatorCallback>): void;<br>getAuthenticatorCallback(sessionId: string): Promise<AuthenticatorCallback>; | Added|
| ohos.account.appAccount | AppAccountManager | getOAuthList(name: string, authType: string, callback: AsyncCallback<Array<string>>): void;<br>getOAuthList(name: string, authType: string): Promise<Array<string>>; | Added|
| ohos.account.appAccount | AppAccountManager | getAllOAuthTokens(name: string, owner: string, callback: AsyncCallback<Array<OAuthTokenInfo>>): void;<br>getAllOAuthTokens(name: string, owner: string): Promise<Array<OAuthTokenInfo>>; | Added|
| ohos.account.appAccount | AppAccountManager | checkOAuthTokenVisibility(name: string, authType: string, bundleName: string, callback: AsyncCallback<boolean>): void;<br>checkOAuthTokenVisibility(name: string, authType: string, bundleName: string): Promise<boolean>; | Added|
| ohos.account.appAccount | AppAccountManager | setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean, callback: AsyncCallback<void>): void;<br>setOAuthTokenVisibility(name: string, authType: string, bundleName: string, isVisible: boolean): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | deleteOAuthToken(name: string, owner: string, authType: string, token: string, callback: AsyncCallback<void>): void;<br>deleteOAuthToken(name: string, owner: string, authType: string, token: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | setOAuthToken(name: string, authType: string, token: string, callback: AsyncCallback<void>): void;<br>setOAuthToken(name: string, authType: string, token: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | getOAuthToken(name: string, owner: string, authType: string, callback: AsyncCallback<string>): void;<br>getOAuthToken(name: string, owner: string, authType: string): Promise<string>; | Added|
| ohos.account.appAccount | AppAccountManager | authenticate(name: string, owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void; | Added|
| ohos.account.appAccount | AppAccountManager | off(type: 'change', callback?: Callback<Array<AppAccountInfo>>): void; | Added|
| ohos.account.appAccount | AppAccountManager | on(type: 'change', owners: Array<string>, callback: Callback<Array<AppAccountInfo>>): void; | Added|
| ohos.account.appAccount | AppAccountManager | getAssociatedData(name: string, key: string, callback: AsyncCallback<string>): void;<br>getAssociatedData(name: string, key: string): Promise<string>; | Added|
| ohos.account.appAccount | AppAccountManager | getAccountExtraInfo(name: string, callback: AsyncCallback<string>): void;<br>getAccountExtraInfo(name: string): Promise<string>; | Added|
| ohos.account.appAccount | AppAccountManager | getAccountCredential(name: string, credentialType: string, callback: AsyncCallback<string>): void;<br>getAccountCredential(name: string, credentialType: string): Promise<string>; | Added|
| ohos.account.appAccount | AppAccountManager | getAllAccounts(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void;<br>getAllAccounts(owner: string): Promise<Array<AppAccountInfo>>; | Added|
| ohos.account.appAccount | AppAccountManager | getAllAccessibleAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void;<br>getAllAccessibleAccounts(): Promise<Array<AppAccountInfo>>; | Added|
| ohos.account.appAccount | AppAccountManager | setAssociatedData(name: string, key: string, value: string, callback: AsyncCallback<void>): void;<br>setAssociatedData(name: string, key: string, value: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | setAppAccountSyncEnable(name: string, isEnable: boolean, callback: AsyncCallback<void>): void;<br>setAppAccountSyncEnable(name: string, isEnable: boolean): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | setAccountExtraInfo(name: string, extraInfo: string, callback: AsyncCallback<void>): void;<br>setAccountExtraInfo(name: string, extraInfo: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | setAccountCredential(name: string, credentialType: string, credential: string, callback: AsyncCallback<void>): void;<br>setAccountCredential(name: string, credentialType: string, credential: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | checkAppAccountSyncEnable(name: string, callback: AsyncCallback<boolean>): void;<br>checkAppAccountSyncEnable(name: string): Promise<boolean>; | Added|
| ohos.account.appAccount | AppAccountManager | enableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void;<br>enableAppAccess(name: string, bundleName: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | disableAppAccess(name: string, bundleName: string, callback: AsyncCallback<void>): void;<br>disableAppAccess(name: string, bundleName: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | deleteAccount(name: string, callback: AsyncCallback<void>): void;<br>deleteAccount(name: string): Promise<void>; | Added|
| ohos.account.appAccount | AppAccountManager | addAccountImplicitly(owner: string, authType: string, options: {[key: string]: any}, callback: AuthenticatorCallback): void; | Added|
| ohos.account.appAccount | AppAccountManager | addAccount(name: string, callback: AsyncCallback<void>): void;<br>addAccount(name: string, extraInfo: string, callback: AsyncCallback<void>): void;<br>addAccount(name: string, extraInfo?: string): Promise<void>; | Added|
| ohos.account.appAccount | appAccount | function createAppAccountManager(): AppAccountManager; | Added|
# JS API Changes of the ArkUI Development Framework
The table below lists the APIs changes of the ArkUI development framework in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Component Type | Component Name | Change Type| Change Description |
| ---------- | ----------------------------- | -------- | ------------------------------------------------------------ |
| Universal event | onFocus/onBlur | Added | Added the focus events. |
| Universal event | onHover/onMouse | Added | Added the mouse events. |
| Universal event | onAreaChange| Added | Added the event indicating component area (including the size and position) changes. |
| Universal attribute | stateStyles | Added | Added the attribute for polymorphic style settings. |
| Universal attribute | responseRegion | Added | Added the attribute for touch hotspot settings. |
| Universal attribute | touchable | Added | Added the attribute that specifies whether a component is touchable. |
| Universal attribute | focusable | Added | Added the attribute that specifies whether a component can gain focus. |
| Universal attribute | bindPopup | Added | Added the layout customization capability for pop-up windows. |
| Universal attribute | bindMenu | Added | Added the layout customization capability for menus. |
| Universal attribute | hoverEffect | Added | Added the attribute that specifies the hover effect of a component. |
| General gesture | SwipeGesture | Added | Added the swipe gesture. |
| Basic component | Image | Added | Added the **syncLoad** attribute to specify whether data is loaded synchronously. |
| Basic component | Swiper | Added | Added the **cachedCount** attribute to set the number of preloaded child components. |
| Basic component | Swiper | Added | Added the **disableSwipe** attribute to disable component swipe. |
| Basic component | Slider | Added | Added the vertical slider. |
| Basic component | TabContent | Added | Added the **tabbar** attribute to provide the layout customization capability. |
| Basic component | Marquee | Added | Added the **\<Marquee>** component. |
| Basic component | Gauge | Added | Added the **\<Gauge>** component. |
| Basic component | PluginComponent | Added | Added the **\<PluginComponent>** component. |
| Basic component | TextArea | Added | Added the **\<TextArea>** component. |
| Basic component | TextInput | Added | Added the **\<TextInput>** component. |
| Basic component | Toggle | Added | Added the **\<Toggle>** component. |
| Container component | List | Added | Added the **\<List>** component. |
| Container component | ScrollBar | Added | Added the **\<ScrollBar>** component. |
| Container component | Navigation | Added | Added the **\<Navigation>** component. |
| Container component | Stepper | Added | Added the **\<Stepper>** component. |
| Container component | StepperItem | Added | Added the **\<StepperItem>** component. |
| Canvas component | Canvas | Added | Added the **\<Canvas>** component. |
| Canvas component | Lottie | Added | Added the support for the Lottie library. |
| Global UI method| ActionSheet | Added | Added the support for the list selection dialog box. |
| Basic component | Web | Added | Added the **\<Web>** component. |
| Basic component | Checkbox | Added | Added the **\<Checkbox>** component to enable or disable an option. |
| Basic component | CheckboxGroup | Added | Added the **\<CheckboxGroup>** component to select or deselect all check boxes in a group. |
| Basic component | DatePicker | Added | Added the **\<DatePicker>** component to allow users to select a date from the given range. |
| Basic component | TextPicker | Added | Added the **\<TextPicker>** component. |
| Basic component | PatternLock | Added | Added the **\<PatternLock>** component to allow users to use a pattern password for authentication.|
| Basic component | RichText | Added | Added the **\<RichText>** component to parse and display HTML text. |
| Basic component | Search | Added | Added the **\<Search>** component to provide an input area for users to search. |
| Basic component | Select | Added | Added the **\<Select>** component to provide a drop-down list box that allows users to select among multiple options. |
| Basic component | TextClock | Added | Added the **\<TextClock>** component. |
| Container component | Refresh | Added | Added the **\<Refresh>** component. |
| Container component | SideBarContainer | Added | Added the **\<SideBarContainer>** component. |
| Global UI method| TextPickerDialog | Added | Added the **\<TextPickerDialog>** component. |
| Global UI method| TimePickerDialog | Added | Added the **\<TimePickerDialog>** component. |
| Global UI method| DatePickerDialog | Added | Added the **\<DatePickerDialog>** component. |
# JS API Changes of the Power Management Subsystem
The table below lists the APIs changes of the power management subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.thermal | thermal | function getThermalLevel(): ThermalLevel; | Added|
| ohos.thermal | thermal | function unsubscribeThermalLevel(callback?: AsyncCallback<void>): void; | Added|
| ohos.thermal | thermal | function subscribeThermalLevel(callback: AsyncCallback<ThermalLevel>): void; | Added|
| ohos.thermal | ThermalLevel | EMERGENCY = 6 | Added|
| ohos.thermal | ThermalLevel | WARNING = 5 | Added|
| ohos.thermal | ThermalLevel | OVERHEATED = 4 | Added|
| ohos.thermal | ThermalLevel | HOT = 3 | Added|
| ohos.thermal | ThermalLevel | WARM = 2 | Added|
| ohos.thermal | ThermalLevel | NORMAL = 1 | Added|
| ohos.thermal | ThermalLevel | COOL = 0 | Added|
| ohos.runninglock | runningLock | function createRunningLock(name: string, type: RunningLockType, callback: AsyncCallback<RunningLock>): void;<br>function createRunningLock(name: string, type: RunningLockType): Promise<RunningLock>; | Added|
| ohos.runninglock | runningLock | function isRunningLockTypeSupported(type: RunningLockType, callback: AsyncCallback<boolean>): void;<br>function isRunningLockTypeSupported(type: RunningLockType): Promise<boolean>; | Added|
# JS API Changes of the Bundle Management Framework
The table below lists the APIs changes of the bundle management framework in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| shortcutInfo | ShortcutInfo | readonly labelId: number; | Added|
| shortcutInfo | ShortcutInfo | readonly iconId: number; | Added|
| launcherAbilityInfo | LauncherAbilityInfo | readonly installTime : number; | Added|
| launcherAbilityInfo | LauncherAbilityInfo | readonly userId: number; | Added|
| launcherAbilityInfo | LauncherAbilityInfo | readonly iconId: number; | Added|
| launcherAbilityInfo | LauncherAbilityInfo | readonly labelId: number; | Added|
| launcherAbilityInfo | LauncherAbilityInfo | readonly elementName : ElementName; | Added|
| launcherAbilityInfo | LauncherAbilityInfo | readonly applicationInfo: ApplicationInfo; | Added|
| bundleInfo | BundleInfo | readonly reqPermissionStates: Array<number>; | Added|
| bundleInfo | BundleInfo | readonly hapModuleInfos: Array<HapModuleInfo>; | Added|
| bundleInfo | BundleInfo | readonly abilityInfos: Array<AbilityInfo>; | Added|
| abilityInfo | AbilityInfo | readonly enabled: boolean; | Added|
| abilityInfo | AbilityInfo | readonly metaData: Array<CustomizeData>; | Added|
| ohos.zlib | zlib | function unzipFile(inFile:string, outFile:string, options: Options): Promise<void>; | Added|
| ohos.zlib | zlib | function zipFile(inFile:string, outFile:string, options: Options): Promise<void>; | Added|
| ohos.zlib | Options | strategy?: CompressStrategy; | Added|
| ohos.zlib | Options | memLevel?: MemLevel; | Added|
| ohos.zlib | Options | level?: CompressLevel; | Added|
| ohos.zlib | MemLevel | MEM_LEVEL_DEFAULT = 8 | Added|
| ohos.zlib | MemLevel | MEM_LEVEL_MAX = 9 | Added|
| ohos.zlib | MemLevel | MEM_LEVEL_MIN = 1 | Added|
| ohos.zlib | CompressStrategy | COMPRESS_STRATEGY_FIXED = 4 | Added|
| ohos.zlib | CompressStrategy | COMPRESS_STRATEGY_RLE = 3 | Added|
| ohos.zlib | CompressStrategy | COMPRESS_STRATEGY_HUFFMAN_ONLY = 2 | Added|
| ohos.zlib | CompressStrategy | COMPRESS_STRATEGY_FILTERED = 1 | Added|
| ohos.zlib | CompressStrategy | COMPRESS_STRATEGY_DEFAULT_STRATEGY = 0 | Added|
| ohos.zlib | CompressLevel | COMPRESS_LEVEL_DEFAULT_COMPRESSION = -1 | Added|
| ohos.zlib | CompressLevel | COMPRESS_LEVEL_BEST_COMPRESSION = 9 | Added|
| ohos.zlib | CompressLevel | COMPRESS_LEVEL_BEST_SPEED = 1 | Added|
| ohos.zlib | CompressLevel | COMPRESS_LEVEL_NO_COMPRESSION = 0 | Added|
| ohos.zlib | ErrorCode | ERROR_CODE_ERRNO = -1 | Added|
| ohos.zlib | ErrorCode | ERROR_CODE_OK = 0 | Added|
| ohos.bundle | bundle | function isApplicationEnabled(bundleName: string, callback: AsyncCallback<boolean>): void;<br>function isApplicationEnabled(bundleName: string): Promise<boolean>; | Added|
| ohos.bundle | bundle | function isAbilityEnabled(info: AbilityInfo, callback: AsyncCallback<boolean>): void;<br>function isAbilityEnabled(info: AbilityInfo): Promise<boolean>; | Added|
| ohos.bundle | bundle | function getAbilityIcon(bundleName: string, abilityName: string, callback: AsyncCallback<image.PixelMap>): void;<br>function getAbilityIcon(bundleName: string, abilityName: string): Promise<image.PixelMap>; | Added|
| ohos.bundle | bundle | function getAbilityLabel(bundleName: string, abilityName: string, callback: AsyncCallback<string>): void;<br>function getAbilityLabel(bundleName: string, abilityName: string): Promise<string>; | Added|
| ohos.bundle | bundle | function getNameForUid(uid: number, callback: AsyncCallback<string>) : void<br>function getNameForUid(uid: number) : Promise<string>; | Added|
| ohos.bundle | bundle | function getAbilityInfo(bundleName: string, abilityName: string, callback: AsyncCallback<AbilityInfo>): void;<br>function getAbilityInfo(bundleName: string, abilityName: string): Promise<AbilityInfo>; | Added|
| ohos.bundle | InstallErrorCode | STATUS_UNINSTALL_PERMISSION_DENIED = 0x45 | Added|
| ohos.bundle | InstallErrorCode | STATUS_INSTALL_PERMISSION_DENIED = 0x44 | Added|
| ohos.bundle | InstallErrorCode | STATUS_GRANT_REQUEST_PERMISSIONS_FAILED = 0x43 | Added|
| ohos.bundle | InstallErrorCode | STATUS_FAILED_NO_SPACE_LEFT = 0x42 | Added|
| ohos.bundle | InstallErrorCode | STATUS_RECOVER_FAILURE_INVALID = 0x0D | Added|
| ohos.bundle | BundleOptions | userId?: number; | Added|
| ohos.bundle | ColorMode | LIGHT_MODE = 1 | Added|
| ohos.bundle | ColorMode | DARK_MODE = 0 | Added|
| ohos.bundle | ColorMode | AUTO_MODE = -1 | Added|
| ohos.bundle | BundleFlag | GET_APPLICATION_INFO_WITH_DISABLE = 0x00000200 | Added|
| ohos.bundle | BundleFlag | GET_ABILITY_INFO_WITH_DISABLE = 0x00000100 | Added|
| ohos.bundle | BundleFlag | GET_ABILITY_INFO_SYSTEMAPP_ONLY = 0x00000080 | Added|
| ohos.bundle | BundleFlag | GET_APPLICATION_INFO_WITH_METADATA = 0x00000040 | Added|
| ohos.bundle | BundleFlag | GET_ABILITY_INFO_WITH_METADATA = 0x00000020 | Added|
| ohos.bundle | BundleFlag | GET_ALL_APPLICATION_INFO = 0xFFFF0000 | Added|
| ohos.bundle | BundleFlag | GET_BUNDLE_WITH_REQUESTED_PERMISSION = 0x00000010 | Added|
| ohos.bundle | BundleFlag | GET_ABILITY_INFO_WITH_APPLICATION = 0x00000004 | Added|
| ohos.bundle | BundleFlag | GET_ABILITY_INFO_WITH_PERMISSION = 0x00000002 | Added|
# JS API Changes of the Communication Subsystem
The table below lists the APIs changes of the communication subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| tagSession | TagSession | getMaxSendLength(): number; | Added|
| tagSession | TagSession | sendData(data: number[]): Promise<number[]>;<br>sendData(data: number[], callback: AsyncCallback<number[]>): void; | Added|
| tagSession | TagSession | getSendDataTimeout(): number; | Added|
| tagSession | TagSession | setSendDataTimeout(timeout: number): boolean; | Added|
| tagSession | TagSession | isTagConnected(): boolean; | Added|
| tagSession | TagSession | reset(): void; | Added|
| tagSession | TagSession | connectTag(): boolean; | Added|
| tagSession | TagSession | getTagInfo(): tag.TagInfo; | Added|
| nfctech | NfcVTag | getDsfId(): number; | Added|
| nfctech | NfcVTag | getResponseFlags(): number; | Added|
| nfctech | NfcFTag | getPmm(): number[]; | Added|
| nfctech | NfcFTag | getSystemCode(): number[]; | Added|
| nfctech | NfcBTag | getRespProtocol(): number[]; | Added|
| nfctech | NfcBTag | getRespAppData(): number[]; | Added|
| nfctech | NfcATag | getAtqa(): number[]; | Added|
| nfctech | NfcATag | getSak(): number; | Added|
| ohos.wifiext | PowerModel | THROUGH_WALL = 2 | Added|
| ohos.wifiext | PowerModel | GENERAL = 1 | Added|
| ohos.wifiext | PowerModel | SLEEPING = 0 | Added|
| ohos.wifiext | wifiext | function setPowerModel(model: PowerModel) : boolean | Added|
| ohos.wifiext | wifiext | function getPowerModel (): Promise<PowerModel>;<br>function getPowerModel (callback: AsyncCallback<PowerModel>): void; | Added|
| ohos.wifiext | wifiext | function getSupportedPowerModel(): Promise<Array<PowerModel>>;<br>function getSupportedPowerModel(callback: AsyncCallback<Array<PowerModel>>): void; | Added|
| ohos.wifiext | wifiext | function disableHotspot(): boolean; | Added|
| ohos.wifiext | wifiext | function enableHotspot(): boolean; | Added|
| ohos.wifi | GroupOwnerBand | GO_BAND_5GHZ = 2 | Added|
| ohos.wifi | GroupOwnerBand | GO_BAND_2GHZ = 1 | Added|
| ohos.wifi | GroupOwnerBand | GO_BAND_AUTO = 0 | Added|
| ohos.wifi | P2pDeviceStatus | UNAVAILABLE = 4 | Added|
| ohos.wifi | P2pDeviceStatus | AVAILABLE = 3 | Added|
| ohos.wifi | P2pDeviceStatus | FAILED = 2 | Added|
| ohos.wifi | P2pDeviceStatus | INVITED = 1 | Added|
| ohos.wifi | P2pDeviceStatus | CONNECTED = 0 | Added|
| ohos.wifi | WifiP2pLinkedInfo | groupOwnerAddr: string; | Added|
| ohos.wifi | WifiP2pLinkedInfo | isGroupOwner: boolean; | Added|
| ohos.wifi | WifiP2pLinkedInfo | connectState: P2pConnectState; | Added|
| ohos.wifi | P2pConnectState | CONNECTED = 1 | Added|
| ohos.wifi | P2pConnectState | DISCONNECTED = 0 | Added|
| ohos.wifi | WifiP2pGroupInfo | goIpAddress: string; | Added|
| ohos.wifi | WifiP2pGroupInfo | clientDevices: WifiP2pDevice[]; | Added|
| ohos.wifi | WifiP2pGroupInfo | frequency: number; | Added|
| ohos.wifi | WifiP2pGroupInfo | networkId: number; | Added|
| ohos.wifi | WifiP2pGroupInfo | groupName: string; | Added|
| ohos.wifi | WifiP2pGroupInfo | interface: string; | Added|
| ohos.wifi | WifiP2pGroupInfo | passphrase: string; | Added|
| ohos.wifi | WifiP2pGroupInfo | ownerInfo: WifiP2pDevice; | Added|
| ohos.wifi | WifiP2pGroupInfo | isP2pGo: boolean; | Added|
| ohos.wifi | WifiP2PConfig | goBand: GroupOwnerBand; | Added|
| ohos.wifi | WifiP2PConfig | groupName: string; | Added|
| ohos.wifi | WifiP2PConfig | passphrase: string; | Added|
| ohos.wifi | WifiP2PConfig | netId: number; | Added|
| ohos.wifi | WifiP2PConfig | deviceAddress: string; | Added|
| ohos.wifi | WifiP2pDevice | groupCapabilitys: number; | Added|
| ohos.wifi | WifiP2pDevice | deviceStatus: P2pDeviceStatus; | Added|
| ohos.wifi | WifiP2pDevice | primaryDeviceType: string; | Added|
| ohos.wifi | WifiP2pDevice | deviceAddress: string; | Added|
| ohos.wifi | WifiP2pDevice | deviceName: string; | Added|
| ohos.wifi | ConnState | UNKNOWN | Added|
| ohos.wifi | ConnState | DISCONNECTED | Added|
| ohos.wifi | ConnState | DISCONNECTING | Added|
| ohos.wifi | ConnState | CONNECTED | Added|
| ohos.wifi | ConnState | OBTAINING_IPADDR | Added|
| ohos.wifi | ConnState | AUTHENTICATING | Added|
| ohos.wifi | ConnState | CONNECTING | Added|
| ohos.wifi | ConnState | SCANNING | Added|
| ohos.wifi | IpInfo | leaseDuration: number; | Added|
| ohos.wifi | IpInfo | serverIp: number; | Added|
| ohos.wifi | IpInfo | secondDns: number; | Added|
| ohos.wifi | IpInfo | primaryDns: number; | Added|
| ohos.wifi | IpInfo | netmask: number; | Added|
| ohos.wifi | IpInfo | gateway: number; | Added|
| ohos.wifi | IpInfo | ipAddress: number; | Added|
| ohos.wifi | WifiLinkedInfo | connState: ConnState; | Added|
| ohos.wifi | WifiLinkedInfo | ipAddress: number; | Added|
| ohos.wifi | WifiLinkedInfo | macAddress: string; | Added|
| ohos.wifi | WifiLinkedInfo | isRestricted: boolean; | Added|
| ohos.wifi | WifiLinkedInfo | isHidden: boolean; | Added|
| ohos.wifi | WifiLinkedInfo | frequency: number; | Added|
| ohos.wifi | WifiLinkedInfo | linkSpeed: number; | Added|
| ohos.wifi | WifiLinkedInfo | band: number; | Added|
| ohos.wifi | WifiLinkedInfo | rssi: number; | Added|
| ohos.wifi | WifiLinkedInfo | bssid: string; | Added|
| ohos.wifi | WifiLinkedInfo | ssid: string; | Added|
| ohos.wifi | WifiScanInfo | channelWidth: number; | Added|
| ohos.wifi | WifiScanInfo | capabilities: string; | Added|
| ohos.wifi | wifi | function off(type: "p2pDiscoveryChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "p2pDiscoveryChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function off(type: "p2pPersistentGroupChange", callback?: Callback<void>): void; | Added|
| ohos.wifi | wifi | function on(type: "p2pPersistentGroupChange", callback: Callback<void>): void; | Added|
| ohos.wifi | wifi | function off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void; | Added|
| ohos.wifi | wifi | function on(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void; | Added|
| ohos.wifi | wifi | function off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void; | Added|
| ohos.wifi | wifi | function on(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void; | Added|
| ohos.wifi | wifi | function off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void; | Added|
| ohos.wifi | wifi | function on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void; | Added|
| ohos.wifi | wifi | function off(type: "p2pStateChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "p2pStateChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function off(type: "hotspotStateChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "hotspotStateChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function off(type: "wifiRssiChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "wifiRssiChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function off(type: "wifiScanStateChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "wifiScanStateChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function off(type: "wifiConnectionChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "wifiConnectionChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function off(type: "wifiStateChange", callback?: Callback<number>): void; | Added|
| ohos.wifi | wifi | function on(type: "wifiStateChange", callback: Callback<number>): void; | Added|
| ohos.wifi | wifi | function stopDiscoverDevices(): boolean; | Added|
| ohos.wifi | wifi | function startDiscoverDevices(): boolean; | Added|
| ohos.wifi | wifi | function p2pCancelConnect(): boolean; | Added|
| ohos.wifi | wifi | function p2pConnect(config: WifiP2PConfig): boolean; | Added|
| ohos.wifi | wifi | function removeGroup(): boolean; | Added|
| ohos.wifi | wifi | function createGroup(config: WifiP2PConfig): boolean; | Added|
| ohos.wifi | wifi | function getP2pPeerDevices(): Promise<WifiP2pDevice[]>;<br>function getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void; | Added|
| ohos.wifi | wifi | function getCurrentGroup(): Promise<WifiP2pGroupInfo>;<br>function getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void; | Added|
| ohos.wifi | wifi | function getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo>;<br>function getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void; | Added|
| ohos.wifi | wifi | function getCountryCode(): string; | Added|
| ohos.wifi | wifi | function getIpInfo(): IpInfo; | Added|
| ohos.wifi | wifi | function isFeatureSupported(featureId: number): boolean; | Added|
| ohos.wifi | wifi | function isConnected(): boolean; | Added|
| ohos.wifi | wifi | function getLinkedInfo(): Promise<WifiLinkedInfo>;<br>function getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void; | Added|
| ohos.wifi | wifi | function removeUntrustedConfig(config: WifiDeviceConfig): Promise<boolean>;<br>function removeUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback<boolean>): void; | Added|
| ohos.wifi | wifi | function addUntrustedConfig(config: WifiDeviceConfig): Promise<boolean>;<br>function addUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback<boolean>): void; | Added|
| ohos.nfc.tag | TagInfo | supportedProfiles: number[]; | Added|
| ohos.nfc.tag | tag | function getNfcVTag(tagInfo: TagInfo): NfcVTag | Added|
| ohos.nfc.tag | tag | function getNfcFTag(tagInfo: TagInfo): NfcFTag | Added|
| ohos.nfc.tag | tag | function getNfcBTag(tagInfo: TagInfo): NfcBTag | Added|
| ohos.nfc.tag | tag | function getNfcATag(tagInfo: TagInfo): NfcATag | Added|
| ohos.nfc.tag | tag | const MIFARE_ULTRALIGHT = 9; | Added|
| ohos.nfc.tag | tag | const MIFARE_CLASSIC = 8; | Added|
| ohos.nfc.tag | tag | const NDEF = 6; | Added|
| ohos.nfc.tag | tag | const NFC_V = 5; | Added|
| ohos.nfc.tag | tag | const NFC_F = 4; | Added|
| ohos.nfc.tag | tag | const ISO_DEP = 3; | Added|
| ohos.nfc.tag | tag | const NFC_B = 2; | Added|
| ohos.nfc.tag | tag | const NFC_A = 1; | Added|
| ohos.nfc.controller | nfcController | function getNfcState(): NfcState | Added|
| ohos.nfc.controller | nfcController | function isNfcOpen(): boolean | Added|
| ohos.nfc.controller | nfcController | function closeNfc(): boolean | Added|
| ohos.nfc.controller | nfcController | function openNfc(): boolean | Added|
| ohos.nfc.controller | nfcController | function off(type: "nfcStateChange", callback?: Callback<NfcState>): void | Added|
| ohos.nfc.controller | nfcController | function on(type: "nfcStateChange", callback: Callback<NfcState>): void | Added|
| ohos.nfc.controller | nfcController | function isNfcAvailable(): boolean | Added|
| ohos.nfc.controller | NfcState | STATE_TURNING_OFF = 4 | Added|
| ohos.nfc.controller | NfcState | STATE_ON = 3 | Added|
| ohos.nfc.controller | NfcState | STATE_TURNING_ON = 2 | Added|
| ohos.nfc.controller | NfcState | STATE_OFF = 1 | Added|
| ohos.nfc.cardEmulation | HceService | sendResponse(responseApdu: number[]): void; | Added|
| ohos.nfc.cardEmulation | HceService | on(type: "hceCmd", callback: AsyncCallback<number[]>): void; | Added|
| ohos.nfc.cardEmulation | HceService | stopHCE(): boolean; | Added|
| ohos.nfc.cardEmulation | HceService | startHCE(aidList: string[]): boolean; | Added|
| ohos.nfc.cardEmulation | cardEmulation | function isSupported(feature: number): boolean; | Added|
| ohos.nfc.cardEmulation | FeatureType | ESE = 2 | Added|
| ohos.nfc.cardEmulation | FeatureType | UICC = 1 | Added|
| ohos.nfc.cardEmulation | FeatureType | HCE = 0 | Added|
| ohos.connectedTag | NfcRfType | NFC_RF_ENTER = 1 | Added|
| ohos.connectedTag | NfcRfType | NFC_RF_LEAVE = 0 | Added|
| ohos.connectedTag | connectedTag | function off(type: "notify", callback?:Callback<number>): void; | Added|
| ohos.connectedTag | connectedTag | function on(type: "notify", callback: Callback<number>): void; | Added|
| ohos.connectedTag | connectedTag | function writeNdefTag(data: string): Promise<void>;<br>function writeNdefTag(data: string, callback: AsyncCallback<void>): void; | Added|
| ohos.connectedTag | connectedTag | function readNdefTag(): Promise<string>;<br>function readNdefTag(callback: AsyncCallback<string>): void; | Added|
| ohos.connectedTag | connectedTag | function uninit(): boolean; | Added|
| ohos.connectedTag | connectedTag | function init(): boolean; | Added|
| ohos.bluetooth | ProfileId | PROFILE_HANDS_FREE_AUDIO_GATEWAY = 4 | Added|
| ohos.bluetooth | ProfileId | PROFILE_A2DP_SOURCE = 1 | Added|
| ohos.bluetooth | PlayingState | STATE_PLAYING | Added|
| ohos.bluetooth | PlayingState | STATE_NOT_PLAYING | Added|
| ohos.bluetooth | StateChangeParam | state: ProfileConnectionState; | Added|
| ohos.bluetooth | StateChangeParam | deviceId: string; | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_PERSONAL_MOBILITY_DEVICE = 0x093C | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_GENERIC_HEALTH_MANAGER = 0x0938 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_ANKLE_PROSTHESIS = 0x0934 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_KNEE_PROSTHESIS = 0x0930 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_MEDICATION_MONITOR = 0x092C | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_PEAK_FLOW_MOITOR = 0x0928 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_BODY_COMPOSITION_ANALYZER = 0x0924 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_STEP_COUNTER = 0x0920 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_DATA_DISPLAY = 0x091C | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_PULSE_RATE = 0x0918 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_PULSE_OXIMETER = 0x0914 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_GLUCOSE = 0x0910 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_WEIGHING = 0x090C | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_THERMOMETER = 0x0908 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_BLOOD_PRESSURE = 0x0904 | Added|
| ohos.bluetooth | MajorMinorClass | HEALTH_UNCATEGORIZED = 0x0900 | Added|
| ohos.bluetooth | MajorMinorClass | TOY_GAME = 0x0814 | Added|
| ohos.bluetooth | MajorMinorClass | TOY_CONTROLLER = 0x0810 | Added|
| ohos.bluetooth | MajorMinorClass | TOY_DOLL_ACTION_FIGURE = 0x080C | Added|
| ohos.bluetooth | MajorMinorClass | TOY_VEHICLE = 0x0808 | Added|
| ohos.bluetooth | MajorMinorClass | TOY_ROBOT = 0x0804 | Added|
| ohos.bluetooth | MajorMinorClass | TOY_UNCATEGORIZED = 0x0800 | Added|
| ohos.bluetooth | MajorMinorClass | WEARABLE_GLASSES = 0x0714 | Added|
| ohos.bluetooth | MajorMinorClass | WEARABLE_HELMET = 0x0710 | Added|
| ohos.bluetooth | MajorMinorClass | WEARABLE_JACKET = 0x070C | Added|
| ohos.bluetooth | MajorMinorClass | WEARABLE_PAGER = 0x0708 | Added|
| ohos.bluetooth | MajorMinorClass | WEARABLE_WRIST_WATCH = 0x0704 | Added|
| ohos.bluetooth | MajorMinorClass | WEARABLE_UNCATEGORIZED = 0x0700 | Added|
| ohos.bluetooth | MajorMinorClass | IMAGING_PRINTER = 0x0680 | Added|
| ohos.bluetooth | MajorMinorClass | IMAGING_SCANNER = 0x0640 | Added|
| ohos.bluetooth | MajorMinorClass | IMAGING_CAMERA = 0x0620 | Added|
| ohos.bluetooth | MajorMinorClass | IMAGING_DISPLAY = 0x0610 | Added|
| ohos.bluetooth | MajorMinorClass | IMAGING_UNCATEGORIZED = 0x0600 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_GESTURAL_INPUT = 0x0522 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_SCANNER_RFID = 0x0520 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_DIGITAL_PEN = 0x051C | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_CARD_READER = 0x0518 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_DIGITIZER_TABLET = 0x0514 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_SENSING_DEVICE = 0x0510 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_REMOTE_CONTROL = 0x05C0 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_GAMEPAD = 0x0508 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_JOYSTICK = 0x0504 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_UNCATEGORIZED = 0x0500 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_KEYBOARD_POINTING = 0x05C0 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_POINTING_DEVICE = 0x0580 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_KEYBOARD = 0x0540 | Added|
| ohos.bluetooth | MajorMinorClass | PERIPHERAL_NON_KEYBOARD_NON_POINTING = 0x0500 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_VIDEO_GAMING_TOY = 0x0448 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_VIDEO_CONFERENCING = 0x0440 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_VIDEO_DISPLAY_AND_LOUDSPEAKER = 0x043C | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_VIDEO_MONITOR = 0x0438 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_CAMCORDER = 0x0434 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_VIDEO_CAMERA = 0x0430 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_VCR = 0x042C | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_HIFI_AUDIO = 0x0428 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_SET_TOP_BOX = 0x0424 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_CAR_AUDIO = 0x0420 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_PORTABLE_AUDIO = 0x041C | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_HEADPHONES = 0x0418 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_LOUDSPEAKER = 0x0414 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_MICROPHONE = 0x0410 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_HANDSFREE = 0x0408 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_WEARABLE_HEADSET = 0x0404 | Added|
| ohos.bluetooth | MajorMinorClass | AUDIO_VIDEO_UNCATEGORIZED = 0x0400 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_NO_SERVICE = 0x03E0 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_83_TO_99_UTILIZED = 0x03C0 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_67_TO_83_UTILIZED = 0x03A0 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_60_TO_67_UTILIZED = 0x0380 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_33_TO_50_UTILIZED = 0x0360 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_17_TO_33_UTILIZED = 0x0340 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_1_TO_17_UTILIZED = 0x0320 | Added|
| ohos.bluetooth | MajorMinorClass | NETWORK_FULLY_AVAILABLE = 0x0300 | Added|
| ohos.bluetooth | MajorMinorClass | PHONE_ISDN = 0x0214 | Added|
| ohos.bluetooth | MajorMinorClass | PHONE_MODEM_OR_GATEWAY = 0x0210 | Added|
| ohos.bluetooth | MajorMinorClass | PHONE_SMART = 0x020C | Added|
| ohos.bluetooth | MajorMinorClass | PHONE_CORDLESS = 0x0208 | Added|
| ohos.bluetooth | MajorMinorClass | PHONE_CELLULAR = 0x0204 | Added|
| ohos.bluetooth | MajorMinorClass | PHONE_UNCATEGORIZED = 0x0200 | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_TABLET = 0x011C | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_WEARABLE = 0x0118 | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_PALM_SIZE_PC_PDA = 0x0114 | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_HANDHELD_PC_PDA = 0x0110 | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_LAPTOP = 0x010C | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_SERVER = 0x0108 | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_DESKTOP = 0x0104 | Added|
| ohos.bluetooth | MajorMinorClass | COMPUTER_UNCATEGORIZED = 0x0100 | Added|
| ohos.bluetooth | MajorClass | MAJOR_UNCATEGORIZED = 0x1F00 | Added|
| ohos.bluetooth | MajorClass | MAJOR_HEALTH = 0x0900 | Added|
| ohos.bluetooth | MajorClass | MAJOR_TOY = 0x0800 | Added|
| ohos.bluetooth | MajorClass | MAJOR_WEARABLE = 0x0700 | Added|
| ohos.bluetooth | MajorClass | MAJOR_IMAGING = 0x0600 | Added|
| ohos.bluetooth | MajorClass | MAJOR_PERIPHERAL = 0x0500 | Added|
| ohos.bluetooth | MajorClass | MAJOR_AUDIO_VIDEO = 0x0400 | Added|
| ohos.bluetooth | MajorClass | MAJOR_NETWORKING = 0x0300 | Added|
| ohos.bluetooth | MajorClass | MAJOR_PHONE = 0x0200 | Added|
| ohos.bluetooth | MajorClass | MAJOR_COMPUTER = 0x0100 | Added|
| ohos.bluetooth | MajorClass | MAJOR_MISC = 0x0000 | Added|
| ohos.bluetooth | BondState | BOND_STATE_BONDED = 2 | Added|
| ohos.bluetooth | BondState | BOND_STATE_BONDING = 1 | Added|
| ohos.bluetooth | BondState | BOND_STATE_INVALID = 0 | Added|
| ohos.bluetooth | ScanMode | SCAN_MODE_CONNECTABLE_LIMITED_DISCOVERABLE = 5 | Added|
| ohos.bluetooth | ScanMode | SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE = 4 | Added|
| ohos.bluetooth | ScanMode | SCAN_MODE_LIMITED_DISCOVERABLE = 3 | Added|
| ohos.bluetooth | ScanMode | SCAN_MODE_GENERAL_DISCOVERABLE = 2 | Added|
| ohos.bluetooth | ScanMode | SCAN_MODE_CONNECTABLE = 1 | Added|
| ohos.bluetooth | ScanMode | SCAN_MODE_NONE = 0 | Added|
| ohos.bluetooth | SppType | SPP_RFCOMM | Added|
| ohos.bluetooth | BluetoothState | STATE_BLE_TURNING_OFF = 6 | Added|
| ohos.bluetooth | BluetoothState | STATE_BLE_ON = 5 | Added|
| ohos.bluetooth | BluetoothState | STATE_BLE_TURNING_ON = 4 | Added|
| ohos.bluetooth | BluetoothState | STATE_TURNING_OFF = 3 | Added|
| ohos.bluetooth | BluetoothState | STATE_ON = 2 | Added|
| ohos.bluetooth | BluetoothState | STATE_TURNING_ON = 1 | Added|
| ohos.bluetooth | BluetoothState | STATE_OFF = 0 | Added|
| ohos.bluetooth | ProfileConnectionState | STATE_DISCONNECTING = 3 | Added|
| ohos.bluetooth | ProfileConnectionState | STATE_CONNECTED = 2 | Added|
| ohos.bluetooth | ProfileConnectionState | STATE_CONNECTING = 1 | Added|
| ohos.bluetooth | ProfileConnectionState | STATE_DISCONNECTED = 0 | Added|
| ohos.bluetooth | MatchMode | MATCH_MODE_STICKY = 2 | Added|
| ohos.bluetooth | MatchMode | MATCH_MODE_AGGRESSIVE = 1 | Added|
| ohos.bluetooth | ScanDuty | SCAN_MODE_LOW_LATENCY = 2 | Added|
| ohos.bluetooth | ScanDuty | SCAN_MODE_BALANCED = 1 | Added|
| ohos.bluetooth | ScanDuty | SCAN_MODE_LOW_POWER = 0 | Added|
| ohos.bluetooth | BondStateParam | state: BondState; | Added|
| ohos.bluetooth | BondStateParam | deviceId: string; | Added|
| ohos.bluetooth | DeviceClass | classOfDevice: number; | Added|
| ohos.bluetooth | DeviceClass | majorMinorClass: MajorMinorClass; | Added|
| ohos.bluetooth | DeviceClass | majorClass: MajorClass; | Added|
| ohos.bluetooth | PinRequiredParam | pinCode: string; | Added|
| ohos.bluetooth | PinRequiredParam | deviceId: string; | Added|
| ohos.bluetooth | SppOption | type: SppType; | Added|
| ohos.bluetooth | SppOption | secure: boolean; | Added|
| ohos.bluetooth | SppOption | uuid: string; | Added|
| ohos.bluetooth | ScanOptions | matchMode?: MatchMode; | Added|
| ohos.bluetooth | ScanOptions | dutyMode?: ScanDuty; | Added|
| ohos.bluetooth | ScanOptions | interval?: number; | Added|
| ohos.bluetooth | ScanFilter | serviceUuid?: string; | Added|
| ohos.bluetooth | ScanFilter | name?: string; | Added|
| ohos.bluetooth | ScanFilter | deviceId?: string; | Added|
| ohos.bluetooth | ServiceData | serviceValue: ArrayBuffer; | Added|
| ohos.bluetooth | ServiceData | serviceUuid: string; | Added|
| ohos.bluetooth | ManufactureData | manufactureValue: ArrayBuffer; | Added|
| ohos.bluetooth | ManufactureData | manufactureId: number; | Added|
| ohos.bluetooth | AdvertiseData | serviceData: Array<ServiceData>; | Added|
| ohos.bluetooth | AdvertiseData | manufactureData: Array<ManufactureData>; | Added|
| ohos.bluetooth | AdvertiseData | serviceUuids: Array<string>; | Added|
| ohos.bluetooth | AdvertiseSetting | connectable?: boolean; | Added|
| ohos.bluetooth | AdvertiseSetting | txPower?: number; | Added|
| ohos.bluetooth | AdvertiseSetting | interval?: number; | Added|
| ohos.bluetooth | ScanResult | data: ArrayBuffer; | Added|
| ohos.bluetooth | ScanResult | rssi: number; | Added|
| ohos.bluetooth | ScanResult | deviceId: string; | Added|
| ohos.bluetooth | BLEConnectChangedState | state: ProfileConnectionState; | Added|
| ohos.bluetooth | BLEConnectChangedState | deviceId: string; | Added|
| ohos.bluetooth | ServerResponse | value: ArrayBuffer; | Added|
| ohos.bluetooth | ServerResponse | offset: number; | Added|
| ohos.bluetooth | ServerResponse | status: number; | Added|
| ohos.bluetooth | ServerResponse | transId: number; | Added|
| ohos.bluetooth | ServerResponse | deviceId: string; | Added|
| ohos.bluetooth | DescriptorWriteReq | serviceUuid: string; | Added|
| ohos.bluetooth | DescriptorWriteReq | characteristicUuid: string; | Added|
| ohos.bluetooth | DescriptorWriteReq | descriptorUuid: string; | Added|
| ohos.bluetooth | DescriptorWriteReq | value: ArrayBuffer; | Added|
| ohos.bluetooth | DescriptorWriteReq | needRsp: boolean; | Added|
| ohos.bluetooth | DescriptorWriteReq | isPrep: boolean; | Added|
| ohos.bluetooth | DescriptorWriteReq | offset: number; | Added|
| ohos.bluetooth | DescriptorWriteReq | transId: number; | Added|
| ohos.bluetooth | DescriptorWriteReq | deviceId: string; | Added|
| ohos.bluetooth | DescriptorReadReq | serviceUuid: string; | Added|
| ohos.bluetooth | DescriptorReadReq | characteristicUuid: string; | Added|
| ohos.bluetooth | DescriptorReadReq | descriptorUuid: string; | Added|
| ohos.bluetooth | DescriptorReadReq | offset: number; | Added|
| ohos.bluetooth | DescriptorReadReq | transId: number; | Added|
| ohos.bluetooth | DescriptorReadReq | deviceId: string; | Added|
| ohos.bluetooth | CharacteristicWriteReq | serviceUuid: string; | Added|
| ohos.bluetooth | CharacteristicWriteReq | characteristicUuid: string; | Added|
| ohos.bluetooth | CharacteristicWriteReq | value: ArrayBuffer; | Added|
| ohos.bluetooth | CharacteristicWriteReq | needRsp: boolean; | Added|
| ohos.bluetooth | CharacteristicWriteReq | isPrep: boolean; | Added|
| ohos.bluetooth | CharacteristicWriteReq | offset: number; | Added|
| ohos.bluetooth | CharacteristicWriteReq | transId: number; | Added|
| ohos.bluetooth | CharacteristicWriteReq | deviceId: string; | Added|
| ohos.bluetooth | CharacteristicReadReq | serviceUuid: string; | Added|
| ohos.bluetooth | CharacteristicReadReq | characteristicUuid: string; | Added|
| ohos.bluetooth | CharacteristicReadReq | offset: number; | Added|
| ohos.bluetooth | CharacteristicReadReq | transId: number; | Added|
| ohos.bluetooth | CharacteristicReadReq | deviceId: string; | Added|
| ohos.bluetooth | NotifyCharacteristic | confirm: boolean; | Added|
| ohos.bluetooth | NotifyCharacteristic | characteristicValue: ArrayBuffer; | Added|
| ohos.bluetooth | NotifyCharacteristic | characteristicUuid: string; | Added|
| ohos.bluetooth | NotifyCharacteristic | serviceUuid: string; | Added|
| ohos.bluetooth | BLEDescriptor | descriptorValue: ArrayBuffer; | Added|
| ohos.bluetooth | BLEDescriptor | descriptorUuid: string; | Added|
| ohos.bluetooth | BLEDescriptor | characteristicUuid: string; | Added|
| ohos.bluetooth | BLEDescriptor | serviceUuid: string; | Added|
| ohos.bluetooth | BLECharacteristic | descriptors: Array<BLEDescriptor>; | Added|
| ohos.bluetooth | BLECharacteristic | characteristicValue: ArrayBuffer; | Added|
| ohos.bluetooth | BLECharacteristic | characteristicUuid: string; | Added|
| ohos.bluetooth | BLECharacteristic | serviceUuid: string; | Added|
| ohos.bluetooth | GattService | includeServices?: Array<GattService>; | Added|
| ohos.bluetooth | GattService | characteristics: Array<BLECharacteristic>; | Added|
| ohos.bluetooth | GattService | isPrimary: boolean; | Added|
| ohos.bluetooth | GattService | serviceUuid: string; | Added|
| ohos.bluetooth | GattClientDevice | off(type: "BLEConnectionStateChange", callback?: Callback<BLEConnectChangedState>): void; | Added|
| ohos.bluetooth | GattClientDevice | on(type: "BLEConnectionStateChange", callback: Callback<BLEConnectChangedState>): void; | Added|
| ohos.bluetooth | GattClientDevice | off(type: "BLECharacteristicChange", callback?: Callback<BLECharacteristic>): void; | Added|
| ohos.bluetooth | GattClientDevice | on(type: "BLECharacteristicChange", callback: Callback<BLECharacteristic>): void; | Added|
| ohos.bluetooth | GattClientDevice | setNotifyCharacteristicChanged(characteristic: BLECharacteristic, enable: boolean): boolean; | Added|
| ohos.bluetooth | GattClientDevice | setBLEMtuSize(mtu: number): boolean; | Added|
| ohos.bluetooth | GattClientDevice | getRssiValue(callback: AsyncCallback<number>): void;<br>getRssiValue(): Promise<number>; | Added|
| ohos.bluetooth | GattClientDevice | writeDescriptorValue(descriptor: BLEDescriptor): boolean; | Added|
| ohos.bluetooth | GattClientDevice | writeCharacteristicValue(characteristic: BLECharacteristic): boolean; | Added|
| ohos.bluetooth | GattClientDevice | readDescriptorValue(descriptor: BLEDescriptor, callback: AsyncCallback<BLEDescriptor>): void;<br>readDescriptorValue(descriptor: BLEDescriptor): Promise<BLEDescriptor>; | Added|
| ohos.bluetooth | GattClientDevice | readCharacteristicValue(characteristic: BLECharacteristic, callback: AsyncCallback<BLECharacteristic>): void;<br>readCharacteristicValue(characteristic: BLECharacteristic): Promise<BLECharacteristic>; | Added|
| ohos.bluetooth | GattClientDevice | getServices(callback: AsyncCallback<Array<GattService>>): void;<br>getServices(): Promise<Array<GattService>>; | Added|
| ohos.bluetooth | GattClientDevice | getDeviceName(callback: AsyncCallback<string>): void;<br>getDeviceName(): Promise<string>; | Added|
| ohos.bluetooth | GattClientDevice | close(): boolean; | Added|
| ohos.bluetooth | GattClientDevice | disconnect(): boolean; | Added|
| ohos.bluetooth | GattClientDevice | connect(): boolean; | Added|
| ohos.bluetooth | GattServer | off(type: "connectStateChange", callback?: Callback<BLEConnectChangedState>): void; | Added|
| ohos.bluetooth | GattServer | on(type: "connectStateChange", callback: Callback<BLEConnectChangedState>): void; | Added|
| ohos.bluetooth | GattServer | off(type: "descriptorWrite", callback?: Callback<DescriptorWriteReq>): void; | Added|
| ohos.bluetooth | GattServer | on(type: "descriptorWrite", callback: Callback<DescriptorWriteReq>): void; | Added|
| ohos.bluetooth | GattServer | off(type: "descriptorRead", callback?: Callback<DescriptorReadReq>): void; | Added|
| ohos.bluetooth | GattServer | on(type: "descriptorRead", callback: Callback<DescriptorReadReq>): void; | Added|
| ohos.bluetooth | GattServer | off(type: "characteristicWrite", callback?: Callback<CharacteristicWriteReq>): void; | Added|
| ohos.bluetooth | GattServer | on(type: "characteristicWrite", callback: Callback<CharacteristicWriteReq>): void; | Added|
| ohos.bluetooth | GattServer | off(type: "characteristicRead", callback?: Callback<CharacteristicReadReq>): void; | Added|
| ohos.bluetooth | GattServer | on(type: "characteristicRead", callback: Callback<CharacteristicReadReq>): void; | Added|
| ohos.bluetooth | GattServer | sendResponse(serverResponse: ServerResponse): boolean; | Added|
| ohos.bluetooth | GattServer | notifyCharacteristicChanged(deviceId: string, notifyCharacteristic: NotifyCharacteristic): boolean; | Added|
| ohos.bluetooth | GattServer | close(): void; | Added|
| ohos.bluetooth | GattServer | removeService(serviceUuid: string): boolean; | Added|
| ohos.bluetooth | GattServer | addService(service: GattService): boolean; | Added|
| ohos.bluetooth | GattServer | stopAdvertising(): void; | Added|
| ohos.bluetooth | GattServer | startAdvertising(setting: AdvertiseSetting, advData: AdvertiseData, advResponse?: AdvertiseData): void; | Added|
| ohos.bluetooth | BLE | function off(type: "BLEDeviceFind", callback?: Callback<Array<ScanResult>>): void; | Added|
| ohos.bluetooth | BLE | function on(type: "BLEDeviceFind", callback: Callback<Array<ScanResult>>): void; | Added|
| ohos.bluetooth | BLE | function stopBLEScan(): void; | Added|
| ohos.bluetooth | BLE | function startBLEScan(filters: Array<ScanFilter>, options?: ScanOptions): void; | Added|
| ohos.bluetooth | BLE | function getConnectedBLEDevices(): Array<string>; | Added|
| ohos.bluetooth | BLE | function createGattClientDevice(deviceId: string): GattClientDevice; | Added|
| ohos.bluetooth | BLE | function createGattServer(): GattServer; | Added|
| ohos.bluetooth | HandsFreeAudioGatewayProfile | off(type: "connectionStateChange", callback?: Callback<StateChangeParam>): void; | Added|
| ohos.bluetooth | HandsFreeAudioGatewayProfile | on(type: "connectionStateChange", callback: Callback<StateChangeParam>): void; | Added|
| ohos.bluetooth | HandsFreeAudioGatewayProfile | disconnect(device: string): boolean; | Added|
| ohos.bluetooth | HandsFreeAudioGatewayProfile | connect(device: string): boolean; | Added|
| ohos.bluetooth | A2dpSourceProfile | getPlayingState(device: string): PlayingState; | Added|
| ohos.bluetooth | A2dpSourceProfile | off(type: "connectionStateChange", callback?: Callback<StateChangeParam>): void; | Added|
| ohos.bluetooth | A2dpSourceProfile | on(type: "connectionStateChange", callback: Callback<StateChangeParam>): void; | Added|
| ohos.bluetooth | A2dpSourceProfile | disconnect(device: string): boolean; | Added|
| ohos.bluetooth | A2dpSourceProfile | connect(device: string): boolean; | Added|
| ohos.bluetooth | BaseProfile | getDeviceState(device: string): ProfileConnectionState; | Added|
| ohos.bluetooth | BaseProfile | getConnectionDevices(): Array<string>; | Added|
| ohos.bluetooth | bluetooth | function getProfile(profileId: ProfileId): A2dpSourceProfile \| HandsFreeAudioGatewayProfile; | Added|
| ohos.bluetooth | bluetooth | function off(type: "sppRead", clientSocket: number, callback?: Callback<ArrayBuffer>): void; | Added|
| ohos.bluetooth | bluetooth | function on(type: "sppRead", clientSocket: number, callback: Callback<ArrayBuffer>): void; | Added|
| ohos.bluetooth | bluetooth | function sppWrite(clientSocket: number, data: ArrayBuffer): boolean; | Added|
| ohos.bluetooth | bluetooth | function sppCloseClientSocket(socket: number): void; | Added|
| ohos.bluetooth | bluetooth | function sppCloseServerSocket(socket: number): void; | Added|
| ohos.bluetooth | bluetooth | function sppConnect(device: string, option: SppOption, callback: AsyncCallback<number>): void; | Added|
| ohos.bluetooth | bluetooth | function sppAccept(serverSocket: number, callback: AsyncCallback<number>): void; | Added|
| ohos.bluetooth | bluetooth | function sppListen(name: string, option: SppOption, callback: AsyncCallback<number>): void; | Added|
| ohos.bluetooth | bluetooth | function off(type: "stateChange", callback?: Callback<BluetoothState>): void; | Added|
| ohos.bluetooth | bluetooth | function on(type: "stateChange", callback: Callback<BluetoothState>): void; | Added|
| ohos.bluetooth | bluetooth | function off(type: "pinRequired", callback?: Callback<PinRequiredParam>): void; | Added|
| ohos.bluetooth | bluetooth | function on(type: "pinRequired", callback: Callback<PinRequiredParam>): void; | Added|
| ohos.bluetooth | bluetooth | function off(type: "bondStateChange", callback?: Callback<BondStateParam>): void; | Added|
| ohos.bluetooth | bluetooth | function on(type: "bondStateChange", callback: Callback<BondStateParam>): void; | Added|
| ohos.bluetooth | bluetooth | function off(type: "bluetoothDeviceFind", callback?: Callback<Array<string>>): void; | Added|
| ohos.bluetooth | bluetooth | function on(type: "bluetoothDeviceFind", callback: Callback<Array<string>>): void; | Added|
| ohos.bluetooth | bluetooth | function stopBluetoothDiscovery(): boolean; | Added|
| ohos.bluetooth | bluetooth | function startBluetoothDiscovery(): boolean; | Added|
| ohos.bluetooth | bluetooth | function getBluetoothScanMode(): ScanMode; | Added|
| ohos.bluetooth | bluetooth | function setBluetoothScanMode(mode: ScanMode, duration: number): boolean; | Added|
| ohos.bluetooth | bluetooth | function setLocalName(name: string): boolean; | Added|
| ohos.bluetooth | bluetooth | function setDevicePairingConfirmation(device: string, accept: boolean): boolean; | Added|
| ohos.bluetooth | bluetooth | function getProfileConnState(profileId: ProfileId): ProfileConnectionState; | Added|
| ohos.bluetooth | bluetooth | function getPairedDevices(): Array<string>; | Added|
| ohos.bluetooth | bluetooth | function getLocalName(): string; | Added|
| ohos.bluetooth | bluetooth | function disableBluetooth(): boolean; | Added|
| ohos.bluetooth | bluetooth | function enableBluetooth(): boolean; | Added|
| ohos.bluetooth | bluetooth | function getRemoteDeviceClass(deviceId: string): DeviceClass; | Added|
| ohos.bluetooth | bluetooth | function getRemoteDeviceName(deviceId: string): string; | Added|
| ohos.bluetooth | bluetooth | function pairDevice(deviceId: string): boolean; | Added|
| ohos.bluetooth | bluetooth | function getBtConnectionState(): ProfileConnectionState; | Added|
| ohos.bluetooth | bluetooth | function getState(): BluetoothState; | Added|
# JS API Changes of the Utils Subsystem
The table below lists the APIs changes of the Utils subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.xml | XmlPullParser | parse(option: ParseOptions): void; | Added|
| ohos.xml | XmlPullParser | constructor(buffer: ArrayBuffer \| DataView, encoding?: string); | Added|
| ohos.xml | ParseOptions | tokenValueCallbackFunction?: (eventType: EventType, value: ParseInfo) => boolean; | Added|
| ohos.xml | ParseOptions | attributeValueCallbackFunction?: (name: string, value: string) => boolean; | Added|
| ohos.xml | ParseOptions | tagValueCallbackFunction?: (name: string, value: string) => boolean; | Added|
| ohos.xml | ParseOptions | ignoreNameSpace?: boolean; | Added|
| ohos.xml | ParseOptions | supportDoctype?: boolean; | Added|
| ohos.xml | ParseInfo | getAttributeCount(): number; | Added|
| ohos.xml | ParseInfo | isWhitespace(): boolean; | Added|
| ohos.xml | ParseInfo | isEmptyElementTag(): boolean; | Added|
| ohos.xml | ParseInfo | getText(): string; | Added|
| ohos.xml | ParseInfo | getPrefix(): string; | Added|
| ohos.xml | ParseInfo | getNamespace(): string; | Added|
| ohos.xml | ParseInfo | getName(): string; | Added|
| ohos.xml | ParseInfo | getLineNumber(): number; | Added|
| ohos.xml | ParseInfo | getDepth(): number; | Added|
| ohos.xml | ParseInfo | getColumnNumber(): number; | Added|
| ohos.xml | EventType | WHITESPACE | Added|
| ohos.xml | EventType | ENTITY_REFERENCE | Added|
| ohos.xml | EventType | INSTRUCTION | Added|
| ohos.xml | EventType | DOCDECL | Added|
| ohos.xml | EventType | COMMENT | Added|
| ohos.xml | EventType | CDSECT | Added|
| ohos.xml | EventType | TEXT | Added|
| ohos.xml | EventType | END_TAG | Added|
| ohos.xml | EventType | START_TAG | Added|
| ohos.xml | EventType | END_DOCUMENT | Added|
| ohos.xml | EventType | START_DOCUMENT | Added|
| ohos.xml | XmlSerializer | setDocType(text: string): void; | Added|
| ohos.xml | XmlSerializer | setText(text: string): void; | Added|
| ohos.xml | XmlSerializer | setCDATA(text: string): void; | Added|
| ohos.xml | XmlSerializer | setComment(text: string): void; | Added|
| ohos.xml | XmlSerializer | setNamespace(prefix: string, namespace: string): void; | Added|
| ohos.xml | XmlSerializer | endElement(): void; | Added|
| ohos.xml | XmlSerializer | startElement(name: string): void; | Added|
| ohos.xml | XmlSerializer | setDeclaration(): void; | Added|
| ohos.xml | XmlSerializer | addEmptyElement(name: string): void; | Added|
| ohos.xml | XmlSerializer | setAttributes(name: string, value: string): void; | Added|
| ohos.xml | XmlSerializer | constructor(buffer: ArrayBuffer \| DataView, encoding?: string); | Added|
| ohos.util.Vector | Vector | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.Vector | Vector | copyToArray(array: Array<T>): void; | Added|
| ohos.util.Vector | Vector | trimToCurrentLength(): void; | Added|
| ohos.util.Vector | Vector | toString(): string; | Added|
| ohos.util.Vector | Vector | increaseCapacityTo(newCapacity: number): void; | Added|
| ohos.util.Vector | Vector | isEmpty(): boolean; | Added|
| ohos.util.Vector | Vector | convertToArray(): Array<T>; | Added|
| ohos.util.Vector | Vector | getCapacity(): number; | Added|
| ohos.util.Vector | Vector | setLength(newSize: number): void; | Added|
| ohos.util.Vector | Vector | clone(): Vector<T>; | Added|
| ohos.util.Vector | Vector | clear(): void; | Added|
| ohos.util.Vector | Vector | subVector(fromIndex: number, toIndex: number): Vector<T>; | Added|
| ohos.util.Vector | Vector | sort(comparator?: (firstValue: T, secondValue: T) => number): void; | Added|
| ohos.util.Vector | Vector | forEach(callbackfn: (value: T, index?: number, vector?: Vector<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.Vector | Vector | replaceAllElements(callbackfn: (value: T, index?: number, vector?: Vector<T>) => T, thisArg?: Object): void; | Added|
| ohos.util.Vector | Vector | removeByRange(fromIndex: number, toIndex: number): void; | Added|
| ohos.util.Vector | Vector | getIndexFrom(element: T, index: number): number; | Added|
| ohos.util.Vector | Vector | getLastIndexFrom(element: T, index: number): number; | Added|
| ohos.util.Vector | Vector | getLastIndexOf(element: T): number; | Added|
| ohos.util.Vector | Vector | set(index: number, element: T): T; | Added|
| ohos.util.Vector | Vector | remove(element: T): boolean; | Added|
| ohos.util.Vector | Vector | removeByIndex(index: number): T; | Added|
| ohos.util.Vector | Vector | getLastElement(): T; | Added|
| ohos.util.Vector | Vector | getFirstElement(): T; | Added|
| ohos.util.Vector | Vector | getIndexOf(element: T): number; | Added|
| ohos.util.Vector | Vector | get(index: number): T; | Added|
| ohos.util.Vector | Vector | has(element: T): boolean; | Added|
| ohos.util.Vector | Vector | insert(element: T, index: number): void; | Added|
| ohos.util.Vector | Vector | add(element: T): boolean; | Added|
| ohos.util.Vector | Vector | length: number; | Added|
| ohos.util.Vector | Vector | constructor(); | Added|
| ohos.util.TreeSet | TreeSet | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.TreeSet | TreeSet | entries(): IterableIterator<[T, T]>; | Added|
| ohos.util.TreeSet | TreeSet | values(): IterableIterator<T>; | Added|
| ohos.util.TreeSet | TreeSet | forEach(callbackfn: (value?: T, key?: T, set?: TreeSet<T>) => void, thisArg?: Object): void;| Added|
| ohos.util.TreeSet | TreeSet | popLast(): T; | Added|
| ohos.util.TreeSet | TreeSet | popFirst(): T; | Added|
| ohos.util.TreeSet | TreeSet | getHigherValue(key: T): T; | Added|
| ohos.util.TreeSet | TreeSet | getLowerValue(key: T): T; | Added|
| ohos.util.TreeSet | TreeSet | getLastValue(): T; | Added|
| ohos.util.TreeSet | TreeSet | getFirstValue(): T; | Added|
| ohos.util.TreeSet | TreeSet | clear(): void; | Added|
| ohos.util.TreeSet | TreeSet | remove(value: T): boolean; | Added|
| ohos.util.TreeSet | TreeSet | add(value: T): boolean; | Added|
| ohos.util.TreeSet | TreeSet | has(value: T): boolean; | Added|
| ohos.util.TreeSet | TreeSet | isEmpty(): boolean; | Added|
| ohos.util.TreeSet | TreeSet | length: number; | Added|
| ohos.util.TreeSet | TreeSet | constructor(comparator?: (firstValue: T, secondValue: T) => boolean) | Added|
| ohos.util.TreeMap | TreeMap | [Symbol.iterator](): IterableIterator<[K, V]>; | Added|
| ohos.util.TreeMap | TreeMap | entries(): IterableIterator<[K, V]>; | Added|
| ohos.util.TreeMap | TreeMap | forEach(callbackfn: (value?: V, key?: K, map?: TreeMap<K, V>) => void, thisArg?: Object): void; | Added|
| ohos.util.TreeMap | TreeMap | replace(key: K, newValue: V): boolean; | Added|
| ohos.util.TreeMap | TreeMap | values(): IterableIterator<V>; | Added|
| ohos.util.TreeMap | TreeMap | keys(): IterableIterator<K>; | Added|
| ohos.util.TreeMap | TreeMap | getHigherKey(key: K): K; | Added|
| ohos.util.TreeMap | TreeMap | getLowerKey(key: K): K; | Added|
| ohos.util.TreeMap | TreeMap | clear(): void; | Added|
| ohos.util.TreeMap | TreeMap | remove(key: K): V; | Added|
| ohos.util.TreeMap | TreeMap | set(key: K, value: V): Object; | Added|
| ohos.util.TreeMap | TreeMap | setAll(map: TreeMap<K, V>): void; | Added|
| ohos.util.TreeMap | TreeMap | getLastKey(): K; | Added|
| ohos.util.TreeMap | TreeMap | getFirstKey(): K; | Added|
| ohos.util.TreeMap | TreeMap | get(key: K): V; | Added|
| ohos.util.TreeMap | TreeMap | hasValue(value: V): boolean; | Added|
| ohos.util.TreeMap | TreeMap | hasKey(key: K): boolean; | Added|
| ohos.util.TreeMap | TreeMap | isEmpty(): boolean; | Added|
| ohos.util.TreeMap | TreeMap | length: number; | Added|
| ohos.util.TreeMap | TreeMap | constructor(comparator?: (firstValue: K, secondValue: K) => boolean); | Added|
| ohos.util.Stack | Stack | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.Stack | Stack | forEach(callbackfn: (value: T, index?: number, stack?: Stack<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.Stack | Stack | locate(element: T): number; | Added|
| ohos.util.Stack | Stack | push(item: T): T; | Added|
| ohos.util.Stack | Stack | pop(): T; | Added|
| ohos.util.Stack | Stack | peek(): T; | Added|
| ohos.util.Stack | Stack | isEmpty(): boolean; | Added|
| ohos.util.Stack | Stack | length: number; | Added|
| ohos.util.Stack | Stack | constructor(); | Added|
| ohos.util.Queue | Queue | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.Queue | Queue | forEach(callbackfn: (value: T, index?: number, Queue?: Queue<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.Queue | Queue | pop(): T; | Added|
| ohos.util.Queue | Queue | getFirst(): T; | Added|
| ohos.util.Queue | Queue | add(element: T): boolean; | Added|
| ohos.util.Queue | Queue | length: number; | Added|
| ohos.util.Queue | Queue | constructor(); | Added|
| ohos.util.PlainArray | PlainArray | [Symbol.iterator](): IterableIterator<[number, T]>; | Added|
| ohos.util.PlainArray | PlainArray | forEach(callbackfn: (value: T, index?: number, PlainArray?: PlainArray<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.PlainArray | PlainArray | getValueAt(index: number): T; | Added|
| ohos.util.PlainArray | PlainArray | toString(): String; | Added|
| ohos.util.PlainArray | PlainArray | setValueAt(index: number, value: T): void; | Added|
| ohos.util.PlainArray | PlainArray | removeRangeFrom(index: number, size: number): number; | Added|
| ohos.util.PlainArray | PlainArray | removeAt(index: number): T; | Added|
| ohos.util.PlainArray | PlainArray | remove(key: number): T; | Added|
| ohos.util.PlainArray | PlainArray | getKeyAt(index: number): number; | Added|
| ohos.util.PlainArray | PlainArray | isEmpty(): boolean; | Added|
| ohos.util.PlainArray | PlainArray | getIndexOfValue(value: T): number; | Added|
| ohos.util.PlainArray | PlainArray | getIndexOfKey(key: number): number; | Added|
| ohos.util.PlainArray | PlainArray | get(key: number): T; | Added|
| ohos.util.PlainArray | PlainArray | has(key: number): boolean; | Added|
| ohos.util.PlainArray | PlainArray | clone(): PlainArray<T>; | Added|
| ohos.util.PlainArray | PlainArray | clear(): void; | Added|
| ohos.util.PlainArray | PlainArray | add(key: number, value: T): void; | Added|
| ohos.util.PlainArray | PlainArray | length: number; | Added|
| ohos.util.PlainArray | PlainArray | constructor(); | Added|
| ohos.util.List | List | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.List | List | isEmpty(): boolean; | Added|
| ohos.util.List | List | convertToArray(): Array<T>; | Added|
| ohos.util.List | List | replaceAllElements(callbackfn: (value: T, index?: number, list?: List<T>) => T, thisArg?: Object): void; | Added|
| ohos.util.List | List | getSubList(fromIndex: number, toIndex: number): List<T>; | Added|
| ohos.util.List | List | clear(): void; | Added|
| ohos.util.List | List | sort(comparator: (firstValue: T, secondValue: T) => number): void; | Added|
| ohos.util.List | List | forEach(callbackfn: (value: T, index?: number, List?: List<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.List | List | equal(obj: Object): boolean; | Added|
| ohos.util.List | List | set(index: number, element: T): T; | Added|
| ohos.util.List | List | getLast(): T; | Added|
| ohos.util.List | List | getFirst(): T; | Added|
| ohos.util.List | List | getLastIndexOf(element: T): number; | Added|
| ohos.util.List | List | remove(element: T): boolean; | Added|
| ohos.util.List | List | removeByIndex(index: number): T; | Added|
| ohos.util.List | List | getIndexOf(element: T): number; | Added|
| ohos.util.List | List | has(element: T): boolean; | Added|
| ohos.util.List | List | get(index: number): T; | Added|
| ohos.util.List | List | insert(element: T, index: number): void; | Added|
| ohos.util.List | List | add(element: T): boolean; | Added|
| ohos.util.List | List | length: number; | Added|
| ohos.util.List | List | constructor(); | Added|
| ohos.util.LinkedList | LinkedList | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.LinkedList | LinkedList | convertToArray(): Array<T>; | Added|
| ohos.util.LinkedList | LinkedList | clone(): LinkedList<T>; | Added|
| ohos.util.LinkedList | LinkedList | clear(): void; | Added|
| ohos.util.LinkedList | LinkedList | forEach(callbackfn: (value: T, index?: number, LinkedList?: LinkedList<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.LinkedList | LinkedList | set(index: number, element: T): T; | Added|
| ohos.util.LinkedList | LinkedList | getLast(): T; | Added|
| ohos.util.LinkedList | LinkedList | getFirst(): T; | Added|
| ohos.util.LinkedList | LinkedList | getLastIndexOf(element: T): number; | Added|
| ohos.util.LinkedList | LinkedList | removeLastFound(element: T): boolean; | Added|
| ohos.util.LinkedList | LinkedList | removeFirstFound(element: T): boolean; | Added|
| ohos.util.LinkedList | LinkedList | remove(element: T): boolean; | Added|
| ohos.util.LinkedList | LinkedList | removeByIndex(index: number): T; | Added|
| ohos.util.LinkedList | LinkedList | getIndexOf(element: T): number; | Added|
| ohos.util.LinkedList | LinkedList | has(element: T): boolean; | Added|
| ohos.util.LinkedList | LinkedList | removeLast(): T; | Added|
| ohos.util.LinkedList | LinkedList | removeFirst(): T; | Added|
| ohos.util.LinkedList | LinkedList | addFirst(element: T): void; | Added|
| ohos.util.LinkedList | LinkedList | get(index: number): T; | Added|
| ohos.util.LinkedList | LinkedList | insert(index: number, element: T): void; | Added|
| ohos.util.LinkedList | LinkedList | add(element: T): boolean; | Added|
| ohos.util.LinkedList | LinkedList | length: number; | Added|
| ohos.util.LinkedList | LinkedList | constructor(); | Added|
| ohos.util.LightWeightSet | LightWeightSet | isEmpty(): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | entries(): IterableIterator<[T, T]>; | Added|
| ohos.util.LightWeightSet | LightWeightSet | values(): IterableIterator<T>; | Added|
| ohos.util.LightWeightSet | LightWeightSet | getValueAt(index: number): T; | Added|
| ohos.util.LightWeightSet | LightWeightSet | toArray(): Array<T>; | Added|
| ohos.util.LightWeightSet | LightWeightSet | toString(): String; | Added|
| ohos.util.LightWeightSet | LightWeightSet | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.LightWeightSet | LightWeightSet | forEach(callbackfn: (value?: T, key?: T, set?: LightWeightSet<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.LightWeightSet | LightWeightSet | clear(): void; | Added|
| ohos.util.LightWeightSet | LightWeightSet | removeAt(index: number): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | remove(key: T): T; | Added|
| ohos.util.LightWeightSet | LightWeightSet | getIndexOf(key: T): number; | Added|
| ohos.util.LightWeightSet | LightWeightSet | increaseCapacityTo(minimumCapacity: number): void; | Added|
| ohos.util.LightWeightSet | LightWeightSet | equal(obj: Object): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | has(key: T): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | hasAll(set: LightWeightSet<T>): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | addAll(set: LightWeightSet<T>): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | add(obj: T): boolean; | Added|
| ohos.util.LightWeightSet | LightWeightSet | length: number; | Added|
| ohos.util.LightWeightSet | LightWeightSet | constructor(); | Added|
| ohos.util.LightWeightMap | LightWeightMap | values(): IterableIterator<V>; | Added|
| ohos.util.LightWeightMap | LightWeightMap | getValueAt(index: number): V; | Added|
| ohos.util.LightWeightMap | LightWeightMap | toString(): String; | Added|
| ohos.util.LightWeightMap | LightWeightMap | [Symbol.iterator](): IterableIterator<[K, V]>; | Added|
| ohos.util.LightWeightMap | LightWeightMap | forEach(callbackfn: (value?: V, key?: K, map?: LightWeightMap<K, V>) => void, thisArg?: Object): void; | Added|
| ohos.util.LightWeightMap | LightWeightMap | setValueAt(index: number, newValue: V): boolean; | Added|
| ohos.util.LightWeightMap | LightWeightMap | clear(): void; | Added|
| ohos.util.LightWeightMap | LightWeightMap | removeAt(index: number): boolean; | Added|
| ohos.util.LightWeightMap | LightWeightMap | remove(key: K): V; | Added|
| ohos.util.LightWeightMap | LightWeightMap | set(key: K, value: V): Object; | Added|
| ohos.util.LightWeightMap | LightWeightMap | setAll(map: LightWeightMap<K, V>): void; | Added|
| ohos.util.LightWeightMap | LightWeightMap | keys(): IterableIterator<K>; | Added|
| ohos.util.LightWeightMap | LightWeightMap | getKeyAt(index: number): K; | Added|
| ohos.util.LightWeightMap | LightWeightMap | isEmpty(): boolean; | Added|
| ohos.util.LightWeightMap | LightWeightMap | getIndexOfValue(value: V): number; | Added|
| ohos.util.LightWeightMap | LightWeightMap | getIndexOfKey(key: K): number; | Added|
| ohos.util.LightWeightMap | LightWeightMap | get(key: K): V; | Added|
| ohos.util.LightWeightMap | LightWeightMap | entries(): IterableIterator<[K, V]>; | Added|
| ohos.util.LightWeightMap | LightWeightMap | increaseCapacityTo(minimumCapacity: number): void; | Added|
| ohos.util.LightWeightMap | LightWeightMap | hasValue(value: V): boolean; | Added|
| ohos.util.LightWeightMap | LightWeightMap | hasKey(key: K): boolean; | Added|
| ohos.util.LightWeightMap | LightWeightMap | hasAll(map: LightWeightMap<K, V>): boolean; | Added|
| ohos.util.LightWeightMap | LightWeightMap | length: number; | Added|
| ohos.util.LightWeightMap | LightWeightMap | constructor(); | Added|
| ohos.util.HashSet | HashSet | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.HashSet | HashSet | entries(): IterableIterator<[T, T]>; | Added|
| ohos.util.HashSet | HashSet | values(): IterableIterator<T>; | Added|
| ohos.util.HashSet | HashSet | forEach(callbackfn: (value?: T, key?: T, set?: HashSet<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.HashSet | HashSet | clear(): void; | Added|
| ohos.util.HashSet | HashSet | remove(value: T): boolean; | Added|
| ohos.util.HashSet | HashSet | add(value: T): boolean; | Added|
| ohos.util.HashSet | HashSet | has(value: T): boolean; | Added|
| ohos.util.HashSet | HashSet | isEmpty(): boolean; | Added|
| ohos.util.HashSet | HashSet | length: number; | Added|
| ohos.util.HashSet | HashSet | constructor(); | Added|
| ohos.util.HashMap | HashMap | [Symbol.iterator](): IterableIterator<[K, V]>; | Added|
| ohos.util.HashMap | HashMap | entries(): IterableIterator<[K, V]>; | Added|
| ohos.util.HashMap | HashMap | forEach(callbackfn: (value?: V, key?: K, map?: HashMap<K, V>) => void, thisArg?: Object): void; | Added|
| ohos.util.HashMap | HashMap | replace(key: K, newValue: V): boolean; | Added|
| ohos.util.HashMap | HashMap | values(): IterableIterator<V>; | Added|
| ohos.util.HashMap | HashMap | keys(): IterableIterator<K>; | Added|
| ohos.util.HashMap | HashMap | clear(): void; | Added|
| ohos.util.HashMap | HashMap | remove(key: K): V; | Added|
| ohos.util.HashMap | HashMap | set(key: K, value: V): Object; | Added|
| ohos.util.HashMap | HashMap | setAll(map: HashMap<K, V>): void; | Added|
| ohos.util.HashMap | HashMap | get(key: K): V; | Added|
| ohos.util.HashMap | HashMap | hasValue(value: V): boolean; | Added|
| ohos.util.HashMap | HashMap | hasKey(key: K): boolean; | Added|
| ohos.util.HashMap | HashMap | isEmpty(): boolean; | Added|
| ohos.util.HashMap | HashMap | length: number; | Added|
| ohos.util.HashMap | HashMap | constructor(); | Added|
| ohos.util.Deque | Deque | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.Deque | Deque | forEach(callbackfn: (value: T, index?: number, deque?: Deque<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.Deque | Deque | popLast(): T; | Added|
| ohos.util.Deque | Deque | popFirst(): T; | Added|
| ohos.util.Deque | Deque | getLast(): T; | Added|
| ohos.util.Deque | Deque | getFirst(): T; | Added|
| ohos.util.Deque | Deque | has(element: T): boolean; | Added|
| ohos.util.Deque | Deque | insertEnd(element: T): void; | Added|
| ohos.util.Deque | Deque | insertFront(element: T): void; | Added|
| ohos.util.Deque | Deque | length: number; | Added|
| ohos.util.Deque | Deque | constructor(); | Added|
| ohos.util | types | isWeakSet(value: Object): boolean; | Added|
| ohos.util | types | isWeakMap(value: Object): boolean; | Added|
| ohos.util | types | isUint32Array(value: Object): boolean; | Added|
| ohos.util | types | isUint16Array(value: Object): boolean; | Added|
| ohos.util | types | isUint8ClampedArray(value: Object): boolean; | Added|
| ohos.util | types | isUint8Array(value: Object): boolean; | Added|
| ohos.util | types | isTypedArray(value: Object): boolean; | Added|
| ohos.util | types | isSymbolObject(value: Object): boolean; | Added|
| ohos.util | types | isStringObject(value: Object): boolean; | Added|
| ohos.util | types | isSharedArrayBuffer(value: Object): boolean; | Added|
| ohos.util | types | isSetIterator(value: Object): boolean; | Added|
| ohos.util | types | isSet(value: Object): boolean; | Added|
| ohos.util | types | isRegExp(value: Object): boolean; | Added|
| ohos.util | types | isProxy(value: Object): boolean; | Added|
| ohos.util | types | isPromise(value: Object): boolean; | Added|
| ohos.util | types | isNumberObject(value: Object): boolean; | Added|
| ohos.util | types | isNativeError(value: Object): boolean; | Added|
| ohos.util | types | isModuleNamespaceObject(value: Object): boolean; | Added|
| ohos.util | types | isMapIterator(value: Object): boolean; | Added|
| ohos.util | types | isMap(value: Object): boolean; | Added|
| ohos.util | types | isInt32Array(value: Object): boolean; | Added|
| ohos.util | types | isInt16Array(value: Object): boolean; | Added|
| ohos.util | types | isInt8Array(value: Object): boolean; | Added|
| ohos.util | types | isGeneratorObject(value: Object): boolean; | Added|
| ohos.util | types | isGeneratorFunction(value: Object): boolean; | Added|
| ohos.util | types | isFloat64Array(value: Object): boolean; | Added|
| ohos.util | types | isFloat32Array(value: Object): boolean; | Added|
| ohos.util | types | isExternal(value: Object): boolean; | Added|
| ohos.util | types | isDate(value: Object): boolean; | Added|
| ohos.util | types | isDataView(value: Object): boolean; | Added|
| ohos.util | types | isBoxedPrimitive(value: Object): boolean; | Added|
| ohos.util | types | isBooleanObject(value: Object): boolean; | Added|
| ohos.util | types | isBigUint64Array(value: Object): boolean; | Added|
| ohos.util | types | isBigInt64Array(value: Object): boolean; | Added|
| ohos.util | types | isAsyncFunction(value: Object): boolean; | Added|
| ohos.util | types | isArrayBuffer(value: Object): boolean; | Added|
| ohos.util | types | isArgumentsObject(value: Object): boolean; | Added|
| ohos.util | types | isArrayBufferView(value: Object): boolean; | Added|
| ohos.util | types | isAnyArrayBuffer(value: Object): boolean; | Added|
| ohos.util | types | constructor(); | Added|
| ohos.util | Base64 | decodeSync(src: Uint8Array \| string): Uint8Array; | Added|
| ohos.util | Base64 | encodeToStringSync(src: Uint8Array): string; | Added|
| ohos.util | Base64 | encodeSync(src: Uint8Array): Uint8Array; | Added|
| ohos.util | LruBuffer | getCapacity(): number; | Added|
| ohos.util | LruBuffer | length:number | Added|
| ohos.util | RationalNumber | valueOf(): number; | Added|
| ohos.util.ArrayList | ArrayList | [Symbol.iterator](): IterableIterator<T>; | Added|
| ohos.util.ArrayList | ArrayList | trimToCurrentLength(): void; | Added|
| ohos.util.ArrayList | ArrayList | increaseCapacityTo(newCapacity: number): void; | Added|
| ohos.util.ArrayList | ArrayList | isEmpty(): boolean; | Added|
| ohos.util.ArrayList | ArrayList | convertToArray(): Array<T>; | Added|
| ohos.util.ArrayList | ArrayList | getCapacity(): number; | Added|
| ohos.util.ArrayList | ArrayList | clone(): ArrayList<T>; | Added|
| ohos.util.ArrayList | ArrayList | clear(): void; | Added|
| ohos.util.ArrayList | ArrayList | subArrayList(fromIndex: number, toIndex: number): ArrayList<T>; | Added|
| ohos.util.ArrayList | ArrayList | sort(comparator?: (firstValue: T, secondValue: T) => number): void; | Added|
| ohos.util.ArrayList | ArrayList | forEach(callbackfn: (value: T, index?: number, arrlist?: ArrayList<T>) => void, thisArg?: Object): void; | Added|
| ohos.util.ArrayList | ArrayList | replaceAllElements(callbackfn: (value: T, index?: number, arrlist?: ArrayList<T>) => T, thisArg?: Object): void; | Added|
| ohos.util.ArrayList | ArrayList | removeByRange(fromIndex: number, toIndex: number): void; | Added|
| ohos.util.ArrayList | ArrayList | getLastIndexOf(element: T): number; | Added|
| ohos.util.ArrayList | ArrayList | remove(element: T): boolean; | Added|
| ohos.util.ArrayList | ArrayList | removeByIndex(index: number): T; | Added|
| ohos.util.ArrayList | ArrayList | getIndexOf(element: T): number; | Added|
| ohos.util.ArrayList | ArrayList | has(element: T): boolean; | Added|
| ohos.util.ArrayList | ArrayList | insert(element: T, index: number): void; | Added|
| ohos.util.ArrayList | ArrayList | add(element: T): boolean; | Added|
| ohos.util.ArrayList | ArrayList | length: number; | Added|
| ohos.util.ArrayList | ArrayList | constructor(); | Added|
| ohos.uri | URI | ssp: string; | Added|
| ohos.uri | URI | authority: string; | Added|
| ohos.uri | URI | fragment: string; | Added|
| ohos.uri | URI | query: string; | Added|
| ohos.uri | URI | path: string; | Added|
| ohos.uri | URI | port: string; | Added|
| ohos.uri | URI | host: string; | Added|
| ohos.uri | URI | userInfo: string; | Added|
| ohos.uri | URI | scheme: string; | Added|
| ohos.uri | URI | normalize(): URI; | Added|
| ohos.uri | URI | checkIsAbsolute(): boolean; | Added|
| ohos.uri | URI | equals(other: URI): boolean; | Added|
| ohos.uri | URI | toString(): string | Added|
| ohos.uri | URI | constructor(uri: string); | Added|
| ohos.convertxml | ConvertXML | convert(xml: string, options?: ConvertOptions) : Object; | Added|
| ohos.convertxml | ConvertOptions | elementsKey: string; | Added|
| ohos.convertxml | ConvertOptions | nameKey: string; | Added|
| ohos.convertxml | ConvertOptions | typeKey: string; | Added|
| ohos.convertxml | ConvertOptions | parentKey: string; | Added|
| ohos.convertxml | ConvertOptions | commentKey: string; | Added|
| ohos.convertxml | ConvertOptions | doctypeKey: string; | Added|
| ohos.convertxml | ConvertOptions | cdataKey: string; | Added|
| ohos.convertxml | ConvertOptions | textKey: string; | Added|
| ohos.convertxml | ConvertOptions | attributesKey: string; | Added|
| ohos.convertxml | ConvertOptions | instructionKey: string; | Added|
| ohos.convertxml | ConvertOptions | declarationKey: string; | Added|
| ohos.convertxml | ConvertOptions | ignoreText?: boolean; | Added|
| ohos.convertxml | ConvertOptions | ignoreDoctype?: boolean; | Added|
| ohos.convertxml | ConvertOptions | ignoreCDATA?: boolean; | Added|
| ohos.convertxml | ConvertOptions | ignoreComment?: boolean; | Added|
| ohos.convertxml | ConvertOptions | ignoreAttributes?: boolean; | Added|
| ohos.convertxml | ConvertOptions | ignoreInstruction?: boolean; | Added|
| ohos.convertxml | ConvertOptions | ignoreDeclaration?: boolean; | Added|
| ohos.convertxml | ConvertOptions | trim: boolean; | Added|
# JS API Changes of the DFX Subsystem
The table below lists the APIs changes of the DFX subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.hiTraceMeter | hiTraceMeter | function traceByValue(name: string, count: number): void; | Added|
| ohos.hiTraceMeter | hiTraceMeter | function finishTrace(name: string, taskId: number): void; | Added|
| ohos.hiTraceMeter | hiTraceMeter | function startTrace(name: string, taskId: number): void; | Added|
| ohos.hiTraceChain | hiTraceChain | function enableFlag(id: HiTraceId, flag: HiTraceFlag): void; | Added|
| ohos.hiTraceChain | hiTraceChain | function isFlagEnabled(id: HiTraceId, flag: HiTraceFlag): boolean; | Added|
| ohos.hiTraceChain | hiTraceChain | function isValid(id: HiTraceId): boolean; | Added|
| ohos.hiTraceChain | hiTraceChain | function tracepoint(mode: HiTraceCommunicationMode, type: HiTraceTracepointType, id: HiTraceId, msg?: string): void; | Added|
| ohos.hiTraceChain | hiTraceChain | function createSpan(): HiTraceId; | Added|
| ohos.hiTraceChain | hiTraceChain | function clearId(): void; | Added|
| ohos.hiTraceChain | hiTraceChain | function setId(id: HiTraceId): void; | Added|
| ohos.hiTraceChain | hiTraceChain | function getId(): HiTraceId; | Added|
| ohos.hiTraceChain | hiTraceChain | function end(id: HiTraceId): void; | Added|
| ohos.hiTraceChain | hiTraceChain | function begin(name: string, flags: number = HiTraceFlag.DEFAULT): HiTraceId; | Added|
| ohos.hiTraceChain | HiTraceId | flags?: number; | Added|
| ohos.hiTraceChain | HiTraceId | parentSpanId?: number; | Added|
| ohos.hiTraceChain | HiTraceId | spanId?: number; | Added|
| ohos.hiTraceChain | HiTraceId | chainId: bigint; | Added|
| ohos.hiTraceChain | HiTraceCommunicationMode | DEVICE = 3 | Added|
| ohos.hiTraceChain | HiTraceCommunicationMode | PROCESS = 2 | Added|
| ohos.hiTraceChain | HiTraceCommunicationMode | THREAD = 1 | Added|
| ohos.hiTraceChain | HiTraceCommunicationMode | DEFAULT = 0 | Added|
| ohos.hiTraceChain | HiTraceTracepointType | GENERAL = 4 | Added|
| ohos.hiTraceChain | HiTraceTracepointType | SR = 3 | Added|
| ohos.hiTraceChain | HiTraceTracepointType | SS = 2 | Added|
| ohos.hiTraceChain | HiTraceTracepointType | CR = 1 | Added|
| ohos.hiTraceChain | HiTraceTracepointType | CS = 0 | Added|
| ohos.hiTraceChain | HiTraceFlag | D2D_TP_INFO = 1 << 6 | Added|
| ohos.hiTraceChain | HiTraceFlag | FAILURE_TRIGGER = 1 << 5 | Added|
| ohos.hiTraceChain | HiTraceFlag | DISABLE_LOG = 1 << 4 | Added|
| ohos.hiTraceChain | HiTraceFlag | NO_BE_INFO = 1 << 3 | Added|
| ohos.hiTraceChain | HiTraceFlag | TP_INFO = 1 << 2 | Added|
| ohos.hiTraceChain | HiTraceFlag | DONOT_CREATE_SPAN = 1 << 1 | Added|
| ohos.hiTraceChain | HiTraceFlag | INCLUDE_ASYNC = 1 | Added|
| ohos.hiTraceChain | HiTraceFlag | DEFAULT = 0 | Added|
| ohos.hilog | LogLevel | FATAL = 7 | Added|
| ohos.hilog | LogLevel | ERROR = 6 | Added|
| ohos.hilog | LogLevel | WARN = 5 | Added|
| ohos.hilog | LogLevel | INFO = 4 | Added|
| ohos.hilog | LogLevel | DEBUG = 3 | Added|
| ohos.hilog | hilog | function isLoggable(domain: number, tag: string, level: LogLevel) : boolean; | Added|
| ohos.hilog | hilog | function fatal(domain: number, tag: string, format: string, ...args: any[]) : void; | Added|
| ohos.hilog | hilog | function error(domain: number, tag: string, format: string, ...args: any[]) : void; | Added|
| ohos.hilog | hilog | function warn(domain: number, tag: string, format: string, ...args: any[]) : void; | Added|
| ohos.hilog | hilog | function info(domain: number, tag: string, format: string, ...args: any[]) : void; | Added|
| ohos.hilog | hilog | function debug(domain: number, tag: string, format: string, ...args: any[]) : void; | Added|
| ohos.hidebug | hidebug | function dumpHeapData(filename : string) : void; | Added|
| ohos.hidebug | hidebug | function stopProfiling() : void; | Added|
| ohos.hidebug | hidebug | function startProfiling(filename : string) : void; | Added|
| ohos.hidebug | hidebug | function getSharedDirty() : bigint; | Added|
| ohos.hidebug | hidebug | function getPss() : bigint; | Added|
| ohos.hidebug | hidebug | function getNativeHeapFreeSize() : bigint; | Added|
| ohos.hidebug | hidebug | function getNativeHeapAllocatedSize() : bigint; | Added|
| ohos.hidebug | hidebug | function getNativeHeapSize() : bigint; | Added|
| ohos.hichecker | hichecker | function contains(rule: bigint) : boolean; | Added|
| ohos.hichecker | hichecker | function getRule() : bigint; | Added|
| ohos.hichecker | hichecker | function removeRule(rule: bigint) : void; | Added|
| ohos.hichecker | hichecker | function addRule(rule: bigint) : void; | Added|
| ohos.hichecker | hichecker | const RULE_CHECK_ABILITY_CONNECTION_LEAK: 8589934592n; | Added|
| ohos.hichecker | hichecker | const RULE_THREAD_CHECK_SLOW_PROCESS: 1n; | Added|
| ohos.hichecker | hichecker | const RULE_CAUTION_TRIGGER_CRASH: 4611686018427387904n; | Added|
| ohos.hichecker | hichecker | const RULE_CAUTION_PRINT_LOG: 9223372036854775808n; | Added|
| ohos.faultLogger | FaultLogInfo | fullLog: string; | Added|
| ohos.faultLogger | FaultLogInfo | summary: string; | Added|
| ohos.faultLogger | FaultLogInfo | module: string; | Added|
| ohos.faultLogger | FaultLogInfo | reason: string; | Added|
| ohos.faultLogger | FaultLogInfo | timestamp: number; | Added|
| ohos.faultLogger | FaultLogInfo | type: FaultType; | Added|
| ohos.faultLogger | FaultLogInfo | uid: number; | Added|
| ohos.faultLogger | FaultLogInfo | pid: number; | Added|
| ohos.faultLogger | FaultLogger | function querySelfFaultLog(faultType: FaultType, callback: AsyncCallback<Array<FaultLogInfo>>) : void;<br>function querySelfFaultLog(faultType: FaultType) : Promise<Array<FaultLogInfo>>; | Added|
| ohos.faultLogger | FaultType | APP_FREEZE = 4 | Added|
| ohos.faultLogger | FaultType | JS_CRASH = 3 | Added|
| ohos.faultLogger | FaultType | CPP_CRASH = 2 | Added|
| ohos.faultLogger | FaultType | NO_SPECIFIC = 0 | Added|
# JS API Changes of the Distributed Data Management Subsystem
The table below lists the APIs changes of the distributed data management subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.data.rdb | RdbPredicates | inAllDevices(): RdbPredicates; | Added|
| ohos.data.rdb | RdbPredicates | inDevices(devices: Array<string>): RdbPredicates; | Added|
| ohos.data.rdb | RdbStore | off(event:'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void; | Added|
| ohos.data.rdb | RdbStore | on(event: 'dataChange', type: SubscribeType, observer: Callback<Array<string>>): void; | Added|
| ohos.data.rdb | RdbStore | sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array<[string, number]>>): void;<br>sync(mode: SyncMode, predicates: RdbPredicates): Promise<Array<[string, number]>>; | Added|
| ohos.data.rdb | RdbStore | obtainDistributedTableName(device: string, table: string, callback: AsyncCallback<string>): void;<br>obtainDistributedTableName(device: string, table: string): Promise<string>; | Added|
| ohos.data.rdb | RdbStore | setDistributedTables(tables: Array<string>, callback: AsyncCallback<void>): void;<br>setDistributedTables(tables: Array<string>): Promise<void>; | Added|
| ohos.data.rdb | RdbStore | rollBack():void; | Added|
| ohos.data.rdb | RdbStore | commit():void; | Added|
| ohos.data.rdb | RdbStore | beginTransaction():void; | Added|
| ohos.data.rdb | RdbStore | querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<ResultSet>): void;<br>querySql(sql: string, bindArgs?: Array<ValueType>): Promise<ResultSet>; | Added|
| ohos.data.rdb | SubscribeType | SUBSCRIBE_TYPE_REMOTE = 0 | Added|
| ohos.data.rdb | SyncMode | SYNC_MODE_PULL = 1 | Added|
| ohos.data.rdb | SyncMode | SYNC_MODE_PUSH = 0 | Added|
| ohos.data.distributedDataObject | DistributedObject | off(type: 'status', callback?: Callback<{ sessionId: string, deviceId: string, status: 'online' \| 'offline' }>): void; | Added|
| ohos.data.distributedDataObject | DistributedObject | on(type: 'status', callback: Callback<{ sessionId: string, networkId: string, status: 'online' \| 'offline' }>): void; | Added|
| ohos.data.distributedDataObject | DistributedObject | off(type: 'change', callback?: Callback<{ sessionId: string, fields: Array<string> }>): void; | Added|
| ohos.data.distributedDataObject | DistributedObject | on(type: 'change', callback: Callback<{ sessionId: string, fields: Array<string> }>): void; | Added|
| ohos.data.distributedDataObject | DistributedObject | setSessionId(sessionId?: string): boolean; | Added|
| ohos.data.distributedDataObject | distributedDataObject | function genSessionId(): string; | Added|
| ohos.data.distributedDataObject | distributedDataObject | function createDistributedObject(source: object): DistributedObject; | Added|
| ohos.data.distributedData | KVManager | off(event: 'distributedDataServiceDie', deathCallback?: Callback<void>): void; | Added|
| ohos.data.distributedData | KVManager | on(event: 'distributedDataServiceDie', deathCallback: Callback<void>): void; | Added|
| ohos.data.distributedData | KVManager | getAllKVStoreId(appId: string, callback: AsyncCallback<string[]>): void;<br>getAllKVStoreId(appId: string): Promise<string[]>; | Added|
| ohos.data.distributedData | KVManager | deleteKVStore(appId: string, storeId: string, callback: AsyncCallback<void>): void;<br>deleteKVStore(appId: string, storeId: string): Promise<void>; | Added|
| ohos.data.distributedData | KVManager | closeKVStore(appId: string, storeId: string, kvStore: KVStore, callback: AsyncCallback<void>): void;<br>closeKVStore(appId: string, storeId: string, kvStore: KVStore): Promise<void>; | Added|
| ohos.data.distributedData | DeviceKVStore | off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void; | Added|
| ohos.data.distributedData | DeviceKVStore | on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void; | Added|
| ohos.data.distributedData | DeviceKVStore | sync(deviceIdList: string[], mode: SyncMode, allowedDelayMs?: number): void; | Added|
| ohos.data.distributedData | DeviceKVStore | removeDeviceData(deviceId: string, callback: AsyncCallback<void>): void;<br>removeDeviceData(deviceId: string): Promise<void>; | Added|
| ohos.data.distributedData | DeviceKVStore | getResultSize(query: Query, callback: AsyncCallback<number>): void;<br>getResultSize(query: Query): Promise<number>;<br>getResultSize(deviceId: string, query: Query, callback: AsyncCallback<number>): void;<br>getResultSize(deviceId: string, query: Query): Promise<number>; | Added|
| ohos.data.distributedData | DeviceKVStore | closeResultSet(resultSet: KvStoreResultSet, callback: AsyncCallback<void>): void;<br>closeResultSet(resultSet: KvStoreResultSet): Promise<void>; | Added|
| ohos.data.distributedData | DeviceKVStore | getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback<KvStoreResultSet>): void;<br>getResultSet(deviceId: string, keyPrefix: string): Promise<KvStoreResultSet>;<br>getResultSet(query: Query, callback: AsyncCallback<KvStoreResultSet>): void;<br>getResultSet(query: Query): Promise<KvStoreResultSet>;<br>getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KvStoreResultSet>): void;<br>getResultSet(deviceId: string, query: Query): Promise<KvStoreResultSet>; | Added|
| ohos.data.distributedData | DeviceKVStore | getEntries(deviceId: string, keyPrefix: string, callback: AsyncCallback<Entry[]>): void;<br>getEntries(deviceId: string, keyPrefix: string): Promise<Entry[]>;<br>getEntries(query: Query, callback: AsyncCallback<Entry[]>): void;<br>getEntries(query: Query): Promise<Entry[]>;<br>getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]>): void;<br>getEntries(deviceId: string, query: Query): Promise<Entry[]>; | Added|
| ohos.data.distributedData | DeviceKVStore | get(deviceId: string, key: string, callback: AsyncCallback<boolean\|string\|number\|Uint8Array>): void;<br>get(deviceId: string, key: string): Promise<boolean\|string\|number\|Uint8Array>; | Added|
| ohos.data.distributedData | SingleKVStore | getSecurityLevel(callback: AsyncCallback<SecurityLevel>): void;<br>getSecurityLevel(): Promise<SecurityLevel>; | Added|
| ohos.data.distributedData | SingleKVStore | setSyncParam(defaultAllowedDelayMs: number, callback: AsyncCallback<void>): void;<br>setSyncParam(defaultAllowedDelayMs: number): Promise<void>; | Added|
| ohos.data.distributedData | SingleKVStore | off(event: 'syncComplete', syncCallback?: Callback<Array<[string, number]>>): void; | Added|
| ohos.data.distributedData | SingleKVStore | on(event: 'syncComplete', syncCallback: Callback<Array<[string, number]>>): void; | Added|
| ohos.data.distributedData | SingleKVStore | removeDeviceData(deviceId: string, callback: AsyncCallback<void>): void;<br>removeDeviceData(deviceId: string): Promise<void>; | Added|
| ohos.data.distributedData | SingleKVStore | getResultSize(query: Query, callback: AsyncCallback<number>): void;<br>getResultSize(query: Query): Promise<number>; | Added|
| ohos.data.distributedData | SingleKVStore | closeResultSet(resultSet: KvStoreResultSet, callback: AsyncCallback<void>): void;<br>closeResultSet(resultSet: KvStoreResultSet): Promise<void>; | Added|
| ohos.data.distributedData | SingleKVStore | getResultSet(keyPrefix: string, callback: AsyncCallback<KvStoreResultSet>): void;<br>getResultSet(keyPrefix: string): Promise<KvStoreResultSet>;<br>getResultSet(query: Query, callback: AsyncCallback<KvStoreResultSet>): void;<br>getResultSet(query: Query): Promise<KvStoreResultSet>; | Added|
| ohos.data.distributedData | SingleKVStore | getEntries(keyPrefix: string, callback: AsyncCallback<Entry[]>): void;<br>getEntries(keyPrefix: string): Promise<Entry[]>;<br>getEntries(query: Query, callback: AsyncCallback<Entry[]>): void;<br>getEntries(query: Query): Promise<Entry[]>; | Added|
| ohos.data.distributedData | KVStore | setSyncRange(localLabels: string[], remoteSupportLabels: string[], callback: AsyncCallback<void>): void;<br>setSyncRange(localLabels: string[], remoteSupportLabels: string[]): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | enableSync(enabled: boolean, callback: AsyncCallback<void>): void;<br>enableSync(enabled: boolean): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | rollback(callback: AsyncCallback<void>): void;<br>rollback(): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | commit(callback: AsyncCallback<void>): void;<br>commit(): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | startTransaction(callback: AsyncCallback<void>): void;<br>startTransaction(): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | deleteBatch(keys: string[], callback: AsyncCallback<void>): void;<br>deleteBatch(keys: string[]): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | putBatch(entries: Entry[], callback: AsyncCallback<void>): void;<br>putBatch(entries: Entry[]): Promise<void>; | Added|
| ohos.data.distributedData | KVStore | off(event:'dataChange', observer?: Callback<ChangeNotification>): void; | Added|
| ohos.data.distributedData | Query | getSqlLike():string; | Added|
| ohos.data.distributedData | Query | deviceId(deviceId:string):Query; | Added|
| ohos.data.distributedData | Query | setSuggestIndex(index: string): Query; | Added|
| ohos.data.distributedData | Query | prefixKey(prefix: string): Query; | Added|
| ohos.data.distributedData | Query | endGroup(): Query; | Added|
| ohos.data.distributedData | Query | beginGroup(): Query; | Added|
| ohos.data.distributedData | Query | isNotNull(field: string): Query; | Added|
| ohos.data.distributedData | Query | limit(total: number, offset: number): Query; | Added|
| ohos.data.distributedData | Query | orderByDesc(field: string): Query; | Added|
| ohos.data.distributedData | Query | orderByAsc(field: string): Query; | Added|
| ohos.data.distributedData | Query | or(): Query; | Added|
| ohos.data.distributedData | Query | and(): Query; | Added|
| ohos.data.distributedData | Query | unlike(field: string, value: string): Query; | Added|
| ohos.data.distributedData | Query | like(field: string, value: string): Query; | Added|
| ohos.data.distributedData | Query | notInString(field: string, valueList: string[]): Query; | Added|
| ohos.data.distributedData | Query | notInNumber(field: string, valueList: number[]): Query; | Added|
| ohos.data.distributedData | Query | inString(field: string, valueList: string[]): Query; | Added|
| ohos.data.distributedData | Query | inNumber(field: string, valueList: number[]): Query; | Added|
| ohos.data.distributedData | Query | isNull(field: string): Query; | Added|
| ohos.data.distributedData | Query | lessThanOrEqualTo(field: string, value: number\|string): Query; | Added|
| ohos.data.distributedData | Query | greaterThanOrEqualTo(field: string, value: number\|string): Query; | Added|
| ohos.data.distributedData | Query | lessThan(field: string, value: number\|string): Query; | Added|
| ohos.data.distributedData | Query | greaterThan(field: string, value: number\|string\|boolean): Query; | Added|
| ohos.data.distributedData | Query | notEqualTo(field: string, value: number\|string\|boolean): Query; | Added|
| ohos.data.distributedData | Query | equalTo(field: string, value: number\|string\|boolean): Query; | Added|
| ohos.data.distributedData | Query | reset(): Query; | Added|
| ohos.data.distributedData | Query | constructor() | Added|
| ohos.data.distributedData | KvStoreResultSet | getEntry(): Entry; | Added|
| ohos.data.distributedData | KvStoreResultSet | isAfterLast(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | isBeforeFirst(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | isLast(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | isFirst(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | moveToPosition(position: number): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | move(offset: number): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | moveToPrevious(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | moveToNext(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | moveToLast(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | moveToFirst(): boolean; | Added|
| ohos.data.distributedData | KvStoreResultSet | getPosition(): number; | Added|
| ohos.data.distributedData | KvStoreResultSet | getCount(): number; | Added|
| ohos.data.distributedData | FieldNode | type: number; | Added|
| ohos.data.distributedData | FieldNode | nullable: boolean; | Added|
| ohos.data.distributedData | FieldNode | default: string; | Added|
| ohos.data.distributedData | FieldNode | appendChild(child: FieldNode): boolean; | Added|
| ohos.data.distributedData | FieldNode | constructor(name: string) | Added|
| ohos.data.distributedData | Schema | skip: number; | Added|
| ohos.data.distributedData | Schema | mode: number; | Added|
| ohos.data.distributedData | Schema | indexes: Array<string>; | Added|
| ohos.data.distributedData | Schema | root: FieldNode; | Added|
| ohos.data.distributedData | Schema | constructor() | Added|
| ohos.data.distributedData | Options | schema?: Schema; | Added|
# JS API Changes of the Distributed Hardware Subsystem
The table below lists the APIs changes of the Distributed Data Management subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module | API | Change Type | Change Description |
| -------- | -------- | -------- | -------- |
| Distributed Hardware Subsystem - DeviceManager| release(): void | Deleted| This API is deleted to reduce security risks.|
| Distributed Hardware Subsystem - DeviceManager| getTrustedDeviceListSync(): Array<DeviceInfo> | Deleted| This API is deleted to reduce security risks.|
| Distributed Hardware Subsystem - DeviceManager| on(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void | Deleted| This API is deleted to reduce security risks.|
| Distributed Hardware Subsystem - DeviceManager| off(type: 'deviceStateChange', callback?: Call back<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void | Deleted| This API is deleted to reduce security risks.|
| Distributed Hardware Subsystem - DeviceManager| on(type: 'serviceDie', callback: () => void): void | Deleted| This API is deleted to reduce security risks.|
| Distributed Hardware Subsystem - DeviceManager| off(type: 'serviceDie', callback?: () => void): void | Deleted| This API is deleted to reduce security risks.|
# JS API Changes of the Common Event and Notification Framework
The table below lists the APIs changes of the common event and notification framework in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| notificationUserInput | NotificationUserInput | inputKey: string; | Added|
| notificationTemplate | NotificationTemplate | data: {[key: string]: Object}; | Added|
| notificationTemplate | NotificationTemplate | name: string; | Added|
| notificationRequest | DistributedOptions | supportOperateDevices?: Array<string>; | Added|
| notificationRequest | DistributedOptions | supportDisplayDevices?: Array<string>; | Added|
| notificationRequest | DistributedOptions | isDistributed?: boolean; | Added|
| notificationRequest | NotificationRequest | readonly notificationFlags?: NotificationFlags; | Added|
| notificationRequest | NotificationRequest | distributedOption?: DistributedOptions; | Added|
| notificationRequest | NotificationRequest | template?: NotificationTemplate; | Added|
| notificationRequest | NotificationRequest | readonly creatorUserId?: number; | Added|
| notificationRequest | NotificationRequest | groupName?: string; | Added|
| notificationActionButton | NotificationActionButton | userInput?: NotificationUserInput; | Added|
| ohos.notification | notification | function isDistributedEnabled(callback: AsyncCallback<boolean>): void;<br>function isDistributedEnabled(): Promise<boolean>; | Added|
| ohos.notification | notification | function requestEnableNotification(callback: AsyncCallback<void>): void;<br>function requestEnableNotification(): Promise<void>; | Added|
| ohos.notification | notification | function isSupportTemplate(templateName: string, callback: AsyncCallback<boolean>): void;<br>function isSupportTemplate(templateName: string): Promise<boolean>; | Added|
| ohos.notification | notification | function cancelGroup(groupName: string, callback: AsyncCallback<void>): void;<br>function cancelGroup(groupName: string): Promise<void>; | Added|
| ohos.events.emitter | EventPriority | IDLE | Added|
| ohos.events.emitter | EventPriority | LOW | Added|
| ohos.events.emitter | EventPriority | HIGH | Added|
| ohos.events.emitter | EventPriority | IMMEDIATE = 0 | Added|
| ohos.events.emitter | InnerEvent | priority?: EventPriority; | Added|
| ohos.events.emitter | InnerEvent | eventId: number; | Added|
| ohos.events.emitter | EventData | data?: {[key: string]: any}; | Added|
| ohos.events.emitter | emitter | function emit(event: InnerEvent, data?: EventData): void; | Added|
| ohos.events.emitter | emitter | function off(eventId: number): void; | Added|
| ohos.events.emitter | emitter | function once(event: InnerEvent, callback: Callback<EventData>): void; | Added|
| ohos.events.emitter | emitter | function on(event: InnerEvent, callback: Callback<EventData>): void; | Added|
| ohos.commonEvent | Support | COMMON_EVENT_SPLIT_SCREEN = "common.event.SPLIT_SCREEN" | Added|
| ohos.commonEvent | Support | COMMON_EVENT_THERMAL_LEVEL_CHANGED = "usual.event.THERMAL_LEVEL_CHANGED" | Added|
# JS API Changes of the File Management Subsystem
The table below lists the APIs changes of the file management subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.statfs | Statfs | function getTotalBytes(path: string, callback: AsyncCallback<number>): void;<br>function getTotalBytes(path: string): Promise<number>; | Added|
| ohos.statfs | Statfs | function getFreeBytes(path: string, callback: AsyncCallback<number>): void;<br>function getFreeBytes(path: string): Promise<number>; | Added|
| ohos.fileio | Watcher | stop(): Promise<void>;<br>stop(callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | ReadOut | buffer: ArrayBuffer; | Added|
| ohos.fileio | ReadOut | offset: number; | Added|
| ohos.fileio | ReadOut | bytesRead: number; | Added|
| ohos.fileio | Stream | read(buffer: ArrayBuffer, options?: { position?: number; offset?: number; length?: number; }): Promise<ReadOut>;<br>read(buffer: ArrayBuffer, callback: AsyncCallback<ReadOut>): void;<br>read(buffer: ArrayBuffer, options: { position?: number; offset?: number; length?: number; }, callback: AsyncCallback<ReadOut>): void; | Added|
| ohos.fileio | Stream | write(buffer: ArrayBuffer \| string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise<number>;<br>write(buffer: ArrayBuffer \| string, callback: AsyncCallback<number>): void;<br>write(buffer: ArrayBuffer \| string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback<number>): void; | Added|
| ohos.fileio | Stream | flush(): Promise<void>;<br>flush(callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | Stream | close(): Promise<void>;<br>close(callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | Dir | close(): Promise<void>;<br>close(callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | Dir | read(): Promise<Dirent>;<br>read(callback: AsyncCallback<Dirent>): void; | Added|
| ohos.fileio | fileIO | function createWatcher(filename: string, events: number, callback: AsyncCallback<number>): Watcher; | Added|
| ohos.fileio | fileIO | function write(fd: number, buffer: ArrayBuffer \| string, options?: { offset?: number; length?: number; position?: number; encoding?: string; }): Promise<number>;<br>function write(fd: number, buffer: ArrayBuffer \| string, callback: AsyncCallback<number>): void;<br>function write(fd: number, buffer: ArrayBuffer \| string, options: { offset?: number; length?: number; position?: number; encoding?: string; }, callback: AsyncCallback<number>): void; | Added|
| ohos.fileio | fileIO | function unlink(path: string): Promise<void>;<br>function unlink(path: string, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function truncate(path: string, len?: number): Promise<void>;<br>function truncate(path: string, callback: AsyncCallback<void>): void;<br>function truncate(path: string, len: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function symlinkSync(target: string, srcPath: string): void; | Added|
| ohos.fileio | fileIO | function symlink(target: string, srcPath: string): Promise<void>;<br>function symlink(target: string, srcPath: string, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function stat(path: string): Promise<Stat>;<br>function stat(path: string, callback: AsyncCallback<Stat>): void; | Added|
| ohos.fileio | fileIO | function rmdir(path: string): Promise<void>;<br>function rmdir(path: string, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function rename(oldPath: string, newPath: string): Promise<void>;<br>function rename(oldPath: string, newPath: string, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function read(fd: number, buffer: ArrayBuffer, options?: { offset?: number; length?: number; position?: number; }): Promise<ReadOut><br>function read(fd: number, buffer: ArrayBuffer, callback: AsyncCallback<ReadOut>): void;<br>function read(fd: number, buffer: ArrayBuffer, options: { offset?: number; length?: number; position?: number; }, callback: AsyncCallback<ReadOut>): void; | Added|
| ohos.fileio | fileIO | function readTextSync(filePath: string, options?: { position?: number; length?: number; encoding?: string; }): string;| Added|
| ohos.fileio | fileIO | function readText(filePath: string, options?: { position?: number; length?: number; encoding?: string; }): Promise<string>;<br>function readText(filePath: string, options: { position?: number; length?: number; encoding?: string; }, callback: AsyncCallback<string>): void; | Added|
| ohos.fileio | fileIO | function opendir(path: string): Promise<Dir>;<br>function opendir(path: string, callback: AsyncCallback<Dir>): void; | Added|
| ohos.fileio | fileIO | function open(path: string, flags?: number, mode?: number): Promise<number>;<br>function open(path: string, callback: AsyncCallback<number>): void;<br>function open(path: string, flags: number, callback: AsyncCallback<number>): void;<br>function open(path: string, flags: number, mode: number, callback: AsyncCallback<number>): void; | Added|
| ohos.fileio | fileIO | function mkdtempSync(prefix: string): string; | Added|
| ohos.fileio | fileIO | function mkdtemp(prefix: string): Promise<string>;<br>function mkdtemp(prefix: string, callback: AsyncCallback<string>): void; | Added|
| ohos.fileio | fileIO | function mkdir(path: string, mode?: number): Promise<void>;<br>function mkdir(path: string, callback: AsyncCallback<void>): void;<br>function mkdir(path: string, mode: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function lstatSync(path: string): Stat; | Added|
| ohos.fileio | fileIO | function lstat(path: string): Promise<Stat>;<br>function lstat(path: string, callback: AsyncCallback<Stat>): void; | Added|
| ohos.fileio | fileIO | function lchownSync(path: string, uid: number, gid: number): void; | Added|
| ohos.fileio | fileIO | function lchown(path: string, uid: number, gid: number): Promise<void>;<br>function lchown(path: string, uid: number, gid: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function hash(path: string, algorithm: string): Promise<string>;<br>function hash(path: string, algorithm: string, callback: AsyncCallback<string>): void; | Added|
| ohos.fileio | fileIO | function fdopenStream(fd: number, mode: string): Promise<Stream>;<br>function fdopenStream(fd: number, mode: string, callback: AsyncCallback<Stream>): void; | Added|
| ohos.fileio | fileIO | function fchmod(fd: number, mode: number): Promise<void>;<br>function fchmod(fd: number, mode: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function fchown(fd: number, uid: number, gid: number): Promise<void>;<br>function fchown(fd: number, uid: number, gid: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function fdatasyncSync(fd: number): void; | Added|
| ohos.fileio | fileIO | function fdatasync(fd: number): Promise<void>;<br>function fdatasync(fd: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function fstat(fd: number): Promise<Stat>;<br>function fstat(fd: number, callback: AsyncCallback<Stat>): void; | Added|
| ohos.fileio | fileIO | function fsync(fd: number): Promise<void>;<br>function fsync(fd: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function ftruncate(fd: number, len?: number): Promise<void>;<br>function ftruncate(fd: number, callback: AsyncCallback<void>): void;<br>function ftruncate(fd: number, len: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function chmod(path: string, mode: number): Promise<void>;<br>function chmod(path: string, mode: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function chown(path: string, uid: number, gid: number): Promise<void>;<br>function chown(path: string, uid: number, gid: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function createStream(path: string, mode: string): Promise<Stream>;<br>function createStream(path: string, mode: string, callback: AsyncCallback<Stream>): void; | Added|
| ohos.fileio | fileIO | function copyFile(src: string \| number, dest: string \| number, mode?: number): Promise<void>;<br>function copyFile(src: string \| number, dest: string \| number, callback: AsyncCallback<void>): void;<br>function copyFile(src: string \| number, dest: string \| number, mode: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function close(fd: number): Promise<void>;<br>function close(fd: number, callback: AsyncCallback<void>): void; | Added|
| ohos.fileio | fileIO | function access(path: string, mode?: number): Promise<void>;<br>function access(path: string, callback: AsyncCallback<void>): void;<br>function access(path: string, mode: number, callback: AsyncCallback<void>): void; | Added|
| ohos.document | document | function show(uri: string, type: string): Promise<void>;<br>function show(uri: string, type: string, callback: AsyncCallback<void>): void; | Added|
| ohos.document | document | function choose(types?: string[]): Promise<string>;<br>function choose(callback: AsyncCallback<string>): void;<br>function choose(types: string[], callback: AsyncCallback<string>): void; | Added|
# JS API Changes of the Location Subsystem
The table below lists the APIs changes of the location subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.geolocation | LocationCommand | command: string; | Added|
| ohos.geolocation | LocationCommand | scenario: LocationRequestScenario; | Added|
| ohos.geolocation | LocationPrivacyType | CORE_LOCATION | Added|
| ohos.geolocation | LocationPrivacyType | STARTUP | Added|
| ohos.geolocation | LocationPrivacyType | OTHERS = 0 | Added|
| ohos.geolocation | GeoLocationErrorCode | LOCATION_REQUEST_TIMEOUT_ERROR | Added|
| ohos.geolocation | GeoLocationErrorCode | LAST_KNOWN_LOCATION_ERROR | Added|
| ohos.geolocation | GeoLocationErrorCode | LOCATION_SWITCH_ERROR | Added|
| ohos.geolocation | GeoLocationErrorCode | LOCATOR_ERROR | Added|
| ohos.geolocation | GeoLocationErrorCode | GEOCODE_ERROR | Added|
| ohos.geolocation | GeoLocationErrorCode | REVERSE_GEOCODE_ERROR | Added|
| ohos.geolocation | GeoLocationErrorCode | INPUT_PARAMS_ERROR = 101 | Added|
| ohos.geolocation | LocationRequestScenario | NO_POWER | Added|
| ohos.geolocation | LocationRequestScenario | DAILY_LIFE_SERVICE | Added|
| ohos.geolocation | LocationRequestScenario | CAR_HAILING | Added|
| ohos.geolocation | LocationRequestScenario | TRAJECTORY_TRACKING | Added|
| ohos.geolocation | LocationRequestScenario | NAVIGATION | Added|
| ohos.geolocation | LocationRequestScenario | UNSET = 0x300 | Added|
| ohos.geolocation | LocationRequestPriority | FIRST_FIX | Added|
| ohos.geolocation | LocationRequestPriority | LOW_POWER | Added|
| ohos.geolocation | LocationRequestPriority | ACCURACY | Added|
| ohos.geolocation | LocationRequestPriority | UNSET = 0x200 | Added|
| ohos.geolocation | Location | additionSize?: number; | Added|
| ohos.geolocation | Location | additions?: Array<string>; | Added|
| ohos.geolocation | Location | timeSinceBoot: number; | Added|
| ohos.geolocation | Location | direction: number; | Added|
| ohos.geolocation | Location | timeStamp: number; | Added|
| ohos.geolocation | Location | speed: number; | Added|
| ohos.geolocation | Location | accuracy: number; | Added|
| ohos.geolocation | Location | altitude: number; | Added|
| ohos.geolocation | Location | longitude: number; | Added|
| ohos.geolocation | Location | latitude: number; | Added|
| ohos.geolocation | CurrentLocationRequest | timeoutMs?: number; | Added|
| ohos.geolocation | CurrentLocationRequest | maxAccuracy?: number; | Added|
| ohos.geolocation | CurrentLocationRequest | scenario?: LocationRequestScenario; | Added|
| ohos.geolocation | CurrentLocationRequest | priority?: LocationRequestPriority; | Added|
| ohos.geolocation | LocationRequest | maxAccuracy?: number; | Added|
| ohos.geolocation | LocationRequest | distanceInterval?: number; | Added|
| ohos.geolocation | LocationRequest | timeInterval?: number; | Added|
| ohos.geolocation | LocationRequest | scenario?: LocationRequestScenario; | Added|
| ohos.geolocation | LocationRequest | priority?: LocationRequestPriority; | Added|
| ohos.geolocation | GeoAddress | descriptionsSize?: number; | Added|
| ohos.geolocation | GeoAddress | descriptions?: Array<string>; | Added|
| ohos.geolocation | GeoAddress | addressUrl?: string; | Added|
| ohos.geolocation | GeoAddress | phoneNumber?: string; | Added|
| ohos.geolocation | GeoAddress | postalCode?: string; | Added|
| ohos.geolocation | GeoAddress | premises?: string; | Added|
| ohos.geolocation | GeoAddress | subRoadName?: string; | Added|
| ohos.geolocation | GeoAddress | roadName?: string; | Added|
| ohos.geolocation | GeoAddress | subLocality?: string; | Added|
| ohos.geolocation | GeoAddress | locality?: string; | Added|
| ohos.geolocation | GeoAddress | subAdministrativeArea?: string; | Added|
| ohos.geolocation | GeoAddress | administrativeArea?: string; | Added|
| ohos.geolocation | GeoAddress | countryName?: string; | Added|
| ohos.geolocation | GeoAddress | countryCode?: string; | Added|
| ohos.geolocation | GeoAddress | placeName?: string; | Added|
| ohos.geolocation | GeoAddress | locale?: string; | Added|
| ohos.geolocation | GeoAddress | longitude?: number; | Added|
| ohos.geolocation | GeoAddress | latitude?: number; | Added|
| ohos.geolocation | GeoCodeRequest | maxLongitude?: number; | Added|
| ohos.geolocation | GeoCodeRequest | maxLatitude?: number; | Added|
| ohos.geolocation | GeoCodeRequest | minLongitude?: number; | Added|
| ohos.geolocation | GeoCodeRequest | minLatitude?: number; | Added|
| ohos.geolocation | GeoCodeRequest | maxItems?: number; | Added|
| ohos.geolocation | GeoCodeRequest | description: string; | Added|
| ohos.geolocation | GeoCodeRequest | locale?: string; | Added|
| ohos.geolocation | ReverseGeoCodeRequest | maxItems?: number; | Added|
| ohos.geolocation | ReverseGeoCodeRequest | longitude: number; | Added|
| ohos.geolocation | ReverseGeoCodeRequest | latitude: number; | Added|
| ohos.geolocation | ReverseGeoCodeRequest | locale?: string; | Added|
| ohos.geolocation | Geofence | expiration: number; | Added|
| ohos.geolocation | Geofence | radius: number; | Added|
| ohos.geolocation | Geofence | longitude: number; | Added|
| ohos.geolocation | Geofence | latitude: number; | Added|
| ohos.geolocation | GeofenceRequest | geofence: Geofence; | Added|
| ohos.geolocation | GeofenceRequest | scenario: LocationRequestScenario; | Added|
| ohos.geolocation | GeofenceRequest | priority: LocationRequestPriority; | Added|
| ohos.geolocation | CachedGnssLocationsRequest | wakeUpCacheQueueFull: boolean; | Added|
| ohos.geolocation | CachedGnssLocationsRequest | reportingPeriodSec: number; | Added|
| ohos.geolocation | SatelliteStatusInfo | carrierFrequencies: Array<number>; | Added|
| ohos.geolocation | SatelliteStatusInfo | azimuths: Array<number>; | Added|
| ohos.geolocation | SatelliteStatusInfo | altitudes: Array<number>; | Added|
| ohos.geolocation | SatelliteStatusInfo | carrierToNoiseDensitys: Array<number>; | Added|
| ohos.geolocation | SatelliteStatusInfo | satelliteIds: Array<number>; | Added|
| ohos.geolocation | SatelliteStatusInfo | satellitesNumber: number; | Added|
| ohos.geolocation | geolocation | function sendCommand(command: LocationCommand, callback: AsyncCallback<boolean>) : void;<br>function sendCommand(command: LocationCommand) : Promise<boolean>; | Added|
| ohos.geolocation | geolocation | function flushCachedGnssLocations(callback: AsyncCallback<boolean>) : void;<br>function flushCachedGnssLocations() : Promise<boolean>; | Added|
| ohos.geolocation | geolocation | function getCachedGnssLocationsSize(callback: AsyncCallback<number>) : void;<br>function getCachedGnssLocationsSize() : Promise<number>; | Added|
| ohos.geolocation | geolocation | function isGeoServiceAvailable(callback: AsyncCallback<boolean>) : void;<br>function isGeoServiceAvailable() : Promise<boolean>; | Added|
| ohos.geolocation | geolocation | function getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>) : void;<br>function getAddressesFromLocationName(request: GeoCodeRequest) : Promise<Array<GeoAddress>>; | Added|
| ohos.geolocation | geolocation | function getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>) : void;<br>function getAddressesFromLocation(request: ReverseGeoCodeRequest) : Promise<Array<GeoAddress>>; | Added|
| ohos.geolocation | geolocation | function requestEnableLocation(callback: AsyncCallback<boolean>) : void;<br>function requestEnableLocation() : Promise<boolean>; | Added|
| ohos.geolocation | geolocation | function isLocationEnabled(callback: AsyncCallback<boolean>) : void;<br>function isLocationEnabled() : Promise<boolean>; | Added|
| ohos.geolocation | geolocation | function getLastLocation(callback: AsyncCallback<Location>) : void;<br>function getLastLocation() : Promise<Location>; | Added|
| ohos.geolocation | geolocation | function getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<Location>) : void;<br>function getCurrentLocation(callback: AsyncCallback<Location>) : void;<br>function getCurrentLocation(request?: CurrentLocationRequest) : Promise<Location>; | Added|
| ohos.geolocation | geolocation | function off(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; | Added|
| ohos.geolocation | geolocation | function on(type: 'fenceStatusChange', request: GeofenceRequest, want: WantAgent) : void; | Added|
| ohos.geolocation | geolocation | function off(type: 'nmeaMessageChange', callback?: Callback<string>) : void; | Added|
| ohos.geolocation | geolocation | function on(type: 'nmeaMessageChange', callback: Callback<string>) : void; | Added|
| ohos.geolocation | geolocation | function off(type: 'gnssStatusChange', callback?: Callback<SatelliteStatusInfo>) : void; | Added|
| ohos.geolocation | geolocation | function on(type: 'gnssStatusChange', callback: Callback<SatelliteStatusInfo>) : void; | Added|
| ohos.geolocation | geolocation | function off(type: 'cachedGnssLocationsReporting', callback?: Callback<Array<Location>>) : void; | Added|
| ohos.geolocation | geolocation | function on(type: 'cachedGnssLocationsReporting', request: CachedGnssLocationsRequest, callback: Callback<Array<Location>>) : void; | Added|
| ohos.geolocation | geolocation | function off(type: 'locationServiceState', callback?: Callback<boolean>) : void; | Added|
| ohos.geolocation | geolocation | function on(type: 'locationServiceState', callback: Callback<boolean>) : void; | Added|
| ohos.geolocation | geolocation | function off(type: 'locationChange', callback?: Callback<Location>) : void; | Added|
| ohos.geolocation | geolocation | function on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>) : void; | Added|
# JS API Changes of the Globalization Subsystem
The table below lists the APIs changes of the globalization subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| rawFileDescriptor | RawFileDescriptor | length: number; | Added|
| rawFileDescriptor | RawFileDescriptor | offset: number; | Added|
| rawFileDescriptor | RawFileDescriptor | fd: number; | Added|
| ohos.resourceManager | ResourceManager | release(); | Added|
| ohos.resourceManager | ResourceManager | closeRawFileDescriptor(path: string, callback: AsyncCallback<void>): void;<br>closeRawFileDescriptor(path: string): Promise<void>; | Added|
| ohos.resourceManager | ResourceManager | getRawFileDescriptor(path: string, callback: AsyncCallback<RawFileDescriptor>): void;<br>getRawFileDescriptor(path: string): Promise<RawFileDescriptor>; | Added|
| ohos.resourceManager | ResourceManager | getRawFile(path: string, callback: AsyncCallback<Uint8Array>): void;<br>getRawFile(path: string): Promise<Uint8Array>; | Added|
| ohos.resourceManager | resourceManager | function getResourceManager(callback: AsyncCallback<ResourceManager>): void;<br>export function getResourceManager(bundleName: string, callback: AsyncCallback<ResourceManager>): void;<br>export function getResourceManager(): Promise<ResourceManager>;<br>export function getResourceManager(bundleName: string): Promise<ResourceManager>; | Added|
| ohos.intl | RelativeTimeFormat | resolvedOptions(): RelativeTimeFormatResolvedOptions; | Added|
| ohos.intl | RelativeTimeFormat | formatToParts(value: number, unit: string): Array<object>; | Added|
| ohos.intl | RelativeTimeFormat | format(value: number, unit: string): string; | Added|
| ohos.intl | RelativeTimeFormat | constructor(); | Added|
| ohos.intl | RelativeTimeFormatResolvedOptions | numberingSystem: string; | Added|
| ohos.intl | RelativeTimeFormatResolvedOptions | numeric: string; | Added|
| ohos.intl | RelativeTimeFormatResolvedOptions | style: string; | Added|
| ohos.intl | RelativeTimeFormatResolvedOptions | locale: string; | Added|
| ohos.intl | RelativeTimeFormatInputOptions | style: string; | Added|
| ohos.intl | RelativeTimeFormatInputOptions | numeric: string; | Added|
| ohos.intl | RelativeTimeFormatInputOptions | localeMatcher: string; | Added|
| ohos.intl | PluralRules | select(n: number): string; | Added|
| ohos.intl | PluralRules | constructor(); | Added|
| ohos.intl | PluralRulesOptions | maximumSignificantDigits: number; | Added|
| ohos.intl | PluralRulesOptions | minimumSignificantDigits: number; | Added|
| ohos.intl | PluralRulesOptions | maximumFractionDigits: number; | Added|
| ohos.intl | PluralRulesOptions | minimumFractionDigits: number; | Added|
| ohos.intl | PluralRulesOptions | minimumIntegerDigits: number; | Added|
| ohos.intl | PluralRulesOptions | type: string; | Added|
| ohos.intl | PluralRulesOptions | localeMatcher: string; | Added|
| ohos.intl | Collator | resolvedOptions(): CollatorOptions; | Added|
| ohos.intl | Collator | compare(first: string, second: string): number; | Added|
| ohos.intl | Collator | constructor(); | Added|
| ohos.intl | CollatorOptions | caseFirst: string; | Added|
| ohos.intl | CollatorOptions | numeric: boolean; | Added|
| ohos.intl | CollatorOptions | collation: string; | Added|
| ohos.intl | CollatorOptions | ignorePunctuation: boolean; | Added|
| ohos.intl | CollatorOptions | sensitivity: string; | Added|
| ohos.intl | CollatorOptions | usage: string; | Added|
| ohos.intl | CollatorOptions | localeMatcher: string; | Added|
| ohos.intl | NumberOptions | unitUsage: string | Added|
| ohos.intl | LocaleOptions | caseFirst: string; | Added|
| ohos.intl | LocaleOptions | numeric: boolean; | Added|
| ohos.intl | LocaleOptions | numberingSystem: string; | Added|
| ohos.intl | LocaleOptions | hourCycle: string; | Added|
| ohos.intl | LocaleOptions | collation: string; | Added|
| ohos.intl | LocaleOptions | calendar: string; | Added|
| ohos.i18n | TimeZone | getOffset(date?: number): number; | Added|
| ohos.i18n | TimeZone | getRawOffset(): number; | Added|
| ohos.i18n | TimeZone | getDisplayName(locale?: string, isDST?: boolean): string; | Added|
| ohos.i18n | TimeZone | getID(): string; | Added|
| ohos.i18n | i18n | function getTimeZone(zoneID?: string): TimeZone; | Added|
| ohos.i18n | i18n | function getFirstPreferredLanguage(): string; | Added|
| ohos.i18n | i18n | function getPreferredLanguageList(): Array<string>; | Added|
| ohos.i18n | i18n | function removePreferredLanguage(index: number): boolean; | Added|
| ohos.i18n | i18n | function addPreferredLanguage(language: string, index?: number): boolean; | Added|
| ohos.i18n | i18n | function set24HourClock(option: boolean): boolean; | Added|
| ohos.i18n | i18n | function is24HourClock(): boolean; | Added|
| ohos.i18n | Character | getType(char: string): string; | Added|
| ohos.i18n | Character | isUpperCase(char: string): boolean; | Added|
| ohos.i18n | Character | isLowerCase(char: string): boolean; | Added|
| ohos.i18n | Character | isLetter(char: string): boolean; | Added|
| ohos.i18n | Character | isIdeograph(char: string): boolean; | Added|
| ohos.i18n | Character | isRTL(char: string): boolean; | Added|
| ohos.i18n | Character | isWhitespace(char: string): boolean; | Added|
| ohos.i18n | Character | isSpaceChar(char: string): boolean; | Added|
| ohos.i18n | Character | isDigit(char: string): boolean; | Added|
| ohos.i18n | IndexUtil | getIndex(text: string): string; | Added|
| ohos.i18n | IndexUtil | addLocale(locale: string): void; | Added|
| ohos.i18n | IndexUtil | getIndexList(): Array<string>; | Added|
| ohos.i18n | i18n | function getInstance(locale?:string): IndexUtil; | Added|
| ohos.i18n | BreakIterator | isBoundary(offset: number): boolean; | Added|
| ohos.i18n | BreakIterator | getLineBreakText(): string; | Added|
| ohos.i18n | BreakIterator | following(offset: number): number; | Added|
| ohos.i18n | BreakIterator | setLineBreakText(text: string): void; | Added|
| ohos.i18n | BreakIterator | previous(): number; | Added|
| ohos.i18n | BreakIterator | next(index?: number): number; | Added|
| ohos.i18n | BreakIterator | last(): number; | Added|
| ohos.i18n | BreakIterator | first(): number; | Added|
| ohos.i18n | BreakIterator | current(): number; | Added|
| ohos.i18n | i18n | function getLineInstance(locale: string): BreakIterator; | Added|
| ohos.i18n | i18n | function isRTL(locale: string): boolean; | Added|
| ohos.i18n | Calendar | isWeekend(date?: Date): boolean; | Added|
| ohos.i18n | Calendar | getDisplayName(locale: string): string; | Added|
| ohos.i18n | Calendar | get(field: string): number; | Added|
| ohos.i18n | Calendar | setMinimalDaysInFirstWeek(value: number): void; | Added|
| ohos.i18n | Calendar | getMinimalDaysInFirstWeek(): number; | Added|
| ohos.i18n | Calendar | setFirstDayOfWeek(value: number): void; | Added|
| ohos.i18n | Calendar | getFirstDayOfWeek(): number; | Added|
| ohos.i18n | Calendar | getTimeZone(): string; | Added|
| ohos.i18n | Calendar | setTimeZone(timezone: string): void; | Added|
| ohos.i18n | Calendar | set(year: number, month: number, date:number, hour?: number, minute?: number, second?: number): void; | Added|
| ohos.i18n | Calendar | setTime(date: Date): void;<br>setTime(time: number): void; | Added|
| ohos.i18n | i18n | function getCalendar(locale: string, type?: string): Calendar; | Added|
| ohos.i18n | PhoneNumberFormat | format(number: string): string; | Added|
| ohos.i18n | PhoneNumberFormat | isValidNumber(number: string): boolean; | Added|
| ohos.i18n | PhoneNumberFormat | constructor(country: string, options?: PhoneNumberFormatOptions); | Added|
| ohos.i18n | PhoneNumberFormatOptions | type: string; | Added|
| ohos.i18n | UnitInfo | measureSystem: string | Added|
| ohos.i18n | UnitInfo | unit: string | Added|
| ohos.i18n | Util | unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string; | Added|
# JS API Changes of the Graphics Subsystem
The table below lists the APIs changes of the graphics subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| webgl2 | WebGL2RenderingContextOverloads | readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView \| null): void;<br>readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, offset: GLintptr): void;<br>readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, dstData: ArrayBufferView, dstOffset: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform4iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform3iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform2iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform1iv(location: WebGLUniformLocation \| null, data: Int32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform4fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform3fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform2fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | uniform1fv(location: WebGLUniformLocation \| null, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;<br>compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;<br>compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null): void;<br>texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;<br>texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;<br>texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;<br>texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null): void;<br>texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;<br>texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;<br>texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;<br>texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: BufferSource): void;<br>bufferSubData(target: GLenum, dstByteOffset: GLintptr, srcData: ArrayBufferView, srcOffset: GLuint, length?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextOverloads | bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;<br>bufferData(target: GLenum, srcData: BufferSource \| null, usage: GLenum): void;<br>bufferData(target: GLenum, srcData: ArrayBufferView, usage: GLenum, srcOffset: GLuint, length?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | bindVertexArray(array: WebGLVertexArrayObject \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | isVertexArray(vertexArray: WebGLVertexArrayObject \| null): GLboolean; | Added|
| webgl2 | WebGL2RenderingContextBase | deleteVertexArray(vertexArray: WebGLVertexArrayObject \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | createVertexArray(): WebGLVertexArrayObject \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformBlockBinding(program: WebGLProgram, uniformBlockIndex: GLuint, uniformBlockBinding: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | getActiveUniformBlockName(program: WebGLProgram, uniformBlockIndex: GLuint): string \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | getActiveUniformBlockParameter(program: WebGLProgram, uniformBlockIndex: GLuint, pname: GLenum): any; | Added|
| webgl2 | WebGL2RenderingContextBase | getUniformBlockIndex(program: WebGLProgram, uniformBlockName: string): GLuint; | Added|
| webgl2 | WebGL2RenderingContextBase | getActiveUniforms(program: WebGLProgram, uniformIndices: GLuint[], pname: GLenum): any; | Added|
| webgl2 | WebGL2RenderingContextBase | getUniformIndices(program: WebGLProgram, uniformNames: string[]): GLuint[] \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | getIndexedParameter(target: GLenum, index: GLuint): any; | Added|
| webgl2 | WebGL2RenderingContextBase | bindBufferRange(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null, offset: GLintptr, size: GLsizeiptr): void; | Added|
| webgl2 | WebGL2RenderingContextBase | bindBufferBase(target: GLenum, index: GLuint, buffer: WebGLBuffer \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | resumeTransformFeedback(): void; | Added|
| webgl2 | WebGL2RenderingContextBase | pauseTransformFeedback(): void; | Added|
| webgl2 | WebGL2RenderingContextBase | getTransformFeedbackVarying(program: WebGLProgram, index: GLuint): WebGLActiveInfo \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | transformFeedbackVaryings(program: WebGLProgram, varyings: string[], bufferMode: GLenum): void; | Added|
| webgl2 | WebGL2RenderingContextBase | endTransformFeedback(): void; | Added|
| webgl2 | WebGL2RenderingContextBase | beginTransformFeedback(primitiveMode: GLenum): void; | Added|
| webgl2 | WebGL2RenderingContextBase | bindTransformFeedback(target: GLenum, tf: WebGLTransformFeedback \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | isTransformFeedback(tf: WebGLTransformFeedback \| null): GLboolean; | Added|
| webgl2 | WebGL2RenderingContextBase | deleteTransformFeedback(tf: WebGLTransformFeedback \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | createTransformFeedback(): WebGLTransformFeedback \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | getSyncParameter(sync: WebGLSync, pname: GLenum): any; | Added|
| webgl2 | WebGL2RenderingContextBase | waitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLint64): void; | Added|
| webgl2 | WebGL2RenderingContextBase | clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | deleteSync(sync: WebGLSync \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | isSync(sync: WebGLSync \| null): GLboolean; | Added|
| webgl2 | WebGL2RenderingContextBase | fenceSync(condition: GLenum, flags: GLbitfield): WebGLSync \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | getSamplerParameter(sampler: WebGLSampler, pname: GLenum): any; | Added|
| webgl2 | WebGL2RenderingContextBase | samplerParameterf(sampler: WebGLSampler, pname: GLenum, param: GLfloat): void; | Added|
| webgl2 | WebGL2RenderingContextBase | samplerParameteri(sampler: WebGLSampler, pname: GLenum, param: GLint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | bindSampler(unit: GLuint, sampler: WebGLSampler \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | isSampler(sampler: WebGLSampler \| null): GLboolean; | Added|
| webgl2 | WebGL2RenderingContextBase | deleteSampler(sampler: WebGLSampler \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | createSampler(): WebGLSampler \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | getQueryParameter(query: WebGLQuery, pname: GLenum): any; | Added|
| webgl2 | WebGL2RenderingContextBase | getQuery(target: GLenum, pname: GLenum): WebGLQuery \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | endQuery(target: GLenum): void; | Added|
| webgl2 | WebGL2RenderingContextBase | beginQuery(target: GLenum, query: WebGLQuery): void; | Added|
| webgl2 | WebGL2RenderingContextBase | isQuery(query: WebGLQuery \| null): GLboolean; | Added|
| webgl2 | WebGL2RenderingContextBase | deleteQuery(query: WebGLQuery \| null): void; | Added|
| webgl2 | WebGL2RenderingContextBase | createQuery(): WebGLQuery \| null; | Added|
| webgl2 | WebGL2RenderingContextBase | clearBufferfi(buffer: GLenum, drawbuffer: GLint, depth: GLfloat, stencil: GLint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | clearBufferiv(buffer: GLenum, drawbuffer: GLint, values: Int32List, srcOffset?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | clearBufferfv(buffer: GLenum, drawbuffer: GLint, values: Float32List, srcOffset?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | drawBuffers(buffers: GLenum[]): void; | Added|
| webgl2 | WebGL2RenderingContextBase | drawRangeElements(mode: GLenum, start: GLuint, end: GLuint, count: GLsizei, type: GLenum, offset: GLintptr): void; | Added|
| webgl2 | WebGL2RenderingContextBase | drawElementsInstanced(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, instanceCount: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | drawArraysInstanced(mode: GLenum, first: GLint, count: GLsizei, instanceCount: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | vertexAttribDivisor(index: GLuint, divisor: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | vertexAttribIPointer(index: GLuint, size: GLint, type: GLenum, stride: GLsizei, offset: GLintptr): void; | Added|
| webgl2 | WebGL2RenderingContextBase | vertexAttribI4uiv(index: GLuint, values: Uint32List): void; | Added|
| webgl2 | WebGL2RenderingContextBase | vertexAttribI4ui(index: GLuint, x: GLuint, y: GLuint, z: GLuint, w: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | vertexAttribI4iv(index: GLuint, values: Int32List): void; | Added|
| webgl2 | WebGL2RenderingContextBase | vertexAttribI4i(index: GLuint, x: GLint, y: GLint, z: GLint, w: GLint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformMatrix3x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformMatrix2x4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformMatrix4x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformMatrix2x3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformMatrix4x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniformMatrix3x2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, data: Float32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform4uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform3uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform2uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform1uiv(location: WebGLUniformLocation \| null, data: Uint32List, srcOffset?: GLuint, srcLength?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform4ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint, v3: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform3ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint, v2: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform2ui(location: WebGLUniformLocation \| null, v0: GLuint, v1: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | uniform1ui(location: WebGLUniformLocation \| null, v0: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | getFragDataLocation(program: WebGLProgram, name: string): GLint; | Added|
| webgl2 | WebGL2RenderingContextBase | compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, imageSize: GLsizei, offset: GLintptr): void;<br>compressedTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void;<br>compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: GLuint, srcLengthOverride?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | copyTexSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, pboOffset: GLintptr): void;<br>texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, source: TexImageSource): void;<br>texSubImage3D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, zoffset: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null, srcOffset?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, pboOffset: GLintptr): void;<br>texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, source: TexImageSource): void;<br>texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView \| null): void;<br>texImage3D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, format: GLenum, type: GLenum, srcData: ArrayBufferView, srcOffset: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | texStorage3D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | texStorage2D(target: GLenum, levels: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | renderbufferStorageMultisample(target: GLenum, samples: GLsizei, internalformat: GLenum, width: GLsizei, height: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | getInternalformatParameter(target: GLenum, internalformat: GLenum, pname: GLenum): any; | Added|
| webgl2 | WebGL2RenderingContextBase | readBuffer(src: GLenum): void; | Added|
| webgl2 | WebGL2RenderingContextBase | invalidateSubFramebuffer(target: GLenum, attachments: GLenum[], x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; | Added|
| webgl2 | WebGL2RenderingContextBase | invalidateFramebuffer(target: GLenum, attachments: GLenum[]): void; | Added|
| webgl2 | WebGL2RenderingContextBase | framebufferTextureLayer(target: GLenum, attachment: GLenum, texture: WebGLTexture \| null, level: GLint, layer: GLint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | blitFramebuffer(srcX0: GLint, srcY0: GLint, srcX1: GLint, srcY1: GLint, dstX0: GLint, dstY0: GLint, dstX1: GLint, dstY1: GLint, mask: GLbitfield, filter: GLenum): void; | Added|
| webgl2 | WebGL2RenderingContextBase | getBufferSubData(target: GLenum, srcByteOffset: GLintptr, dstBuffer: ArrayBufferView, dstOffset?: GLuint, length?: GLuint): void; | Added|
| webgl2 | WebGL2RenderingContextBase | copyBufferSubData(readTarget: GLenum, writeTarget: GLenum, readOffset: GLintptr, writeOffset: GLintptr, size: GLsizeiptr): void; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_CLIENT_WAIT_TIMEOUT_WEBGL: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TIMEOUT_IGNORED: GLint64; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_IMMUTABLE_LEVELS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_ELEMENT_INDEX: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_IMMUTABLE_FORMAT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_ACTIVE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_PAUSED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INT_2_10_10_10_REV: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB10_A2UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SAMPLER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly ANY_SAMPLES_PASSED_CONSERVATIVE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly ANY_SAMPLES_PASSED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_DIVISOR: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SYNC_FLUSH_COMMANDS_BIT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly WAIT_FAILED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly CONDITION_SATISFIED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TIMEOUT_EXPIRED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly ALREADY_SIGNALED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SIGNALED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNALED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SYNC_GPU_COMMANDS_COMPLETE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SYNC_FENCE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SYNC_FLAGS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SYNC_STATUS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SYNC_CONDITION: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly OBJECT_TYPE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_SERVER_WAIT_TIMEOUT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_FRAGMENT_INPUT_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_VERTEX_OUTPUT_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INVALID_INDEX: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_ACTIVE_UNIFORMS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_DATA_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_IS_ROW_MAJOR: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_MATRIX_STRIDE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_ARRAY_STRIDE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_OFFSET: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BLOCK_INDEX: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_TYPE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly ACTIVE_UNIFORM_BLOCKS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BUFFER_OFFSET_ALIGNMENT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_UNIFORM_BLOCK_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_UNIFORM_BUFFER_BINDINGS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_COMBINED_UNIFORM_BLOCKS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_FRAGMENT_UNIFORM_BLOCKS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_VERTEX_UNIFORM_BLOCKS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BUFFER_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BUFFER_START: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNIFORM_BUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COPY_WRITE_BUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COPY_READ_BUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COPY_WRITE_BUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COPY_READ_BUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SIGNED_NORMALIZED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA8_SNORM: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB8_SNORM: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG8_SNORM: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R8_SNORM: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly VERTEX_ARRAY_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG32UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG32I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG16UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG16I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG8UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG8I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R32UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R32I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R16UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R16I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R8UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R8I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG32F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG16F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R32F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R16F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG_INTEGER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RG: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly HALF_FLOAT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_SAMPLES: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_INCOMPLETE_MULTISAMPLE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT15: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT14: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT13: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT12: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT11: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT10: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT9: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT7: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT6: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT5: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT4: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT3: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT2: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR_ATTACHMENT1: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_COLOR_ATTACHMENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RENDERBUFFER_SAMPLES: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly READ_FRAMEBUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_FRAMEBUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly READ_FRAMEBUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_FRAMEBUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_NORMALIZED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DEPTH24_STENCIL8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_24_8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_DEFAULT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_BLUE_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_GREEN_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_RED_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_32_UNSIGNED_INT_24_8_REV: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DEPTH32F_STENCIL8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DEPTH_COMPONENT32F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_SAMPLER_2D_ARRAY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_SAMPLER_CUBE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_SAMPLER_3D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_SAMPLER_2D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INT_SAMPLER_2D_ARRAY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INT_SAMPLER_CUBE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INT_SAMPLER_3D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INT_SAMPLER_2D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_VEC4: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_VEC3: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_VEC2: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SAMPLER_CUBE_SHADOW: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SAMPLER_2D_ARRAY_SHADOW: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SAMPLER_2D_ARRAY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA_INTEGER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB_INTEGER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RED_INTEGER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB8I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA8I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB16I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA16I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB32I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA32I: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB8UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA8UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB16UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA16UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB32UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA32UI: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_BUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_BUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SEPARATE_ATTRIBS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly INTERLEAVED_ATTRIBS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RASTERIZER_DISCARD: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_BUFFER_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_BUFFER_START: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_VARYINGS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TRANSFORM_FEEDBACK_BUFFER_MODE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_5_9_9_9_REV: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB9_E5: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_10F_11F_11F_REV: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly R11F_G11F_B10F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_BINDING_2D_ARRAY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_2D_ARRAY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_VARYING_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_PROGRAM_TEXEL_OFFSET: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MIN_PROGRAM_TEXEL_OFFSET: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_ARRAY_TEXTURE_LAYERS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_INTEGER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB16F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA16F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB32F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA32F: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COMPARE_REF_TO_TEXTURE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SRGB8_ALPHA8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SRGB8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SRGB: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_MAT4x3: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_MAT4x2: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_MAT3x4: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_MAT3x2: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_MAT2x4: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FLOAT_MAT2x3: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PIXEL_UNPACK_BUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PIXEL_PACK_BUFFER_BINDING: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PIXEL_UNPACK_BUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PIXEL_PACK_BUFFER: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly FRAGMENT_SHADER_DERIVATIVE_HINT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SAMPLER_2D_SHADOW: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly SAMPLER_3D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_VERTEX_UNIFORM_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_FRAGMENT_UNIFORM_COMPONENTS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER15: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER14: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER13: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER12: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER11: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER10: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER9: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER7: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER6: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER5: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER4: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER3: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER2: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER1: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DRAW_BUFFER0: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_DRAW_BUFFERS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DYNAMIC_COPY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DYNAMIC_READ: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly STATIC_COPY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly STATIC_READ: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly STREAM_COPY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly STREAM_READ: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly QUERY_RESULT_AVAILABLE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly QUERY_RESULT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly CURRENT_QUERY: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_COMPARE_FUNC: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_COMPARE_MODE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_TEXTURE_LOD_BIAS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DEPTH_COMPONENT24: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MIN: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_MAX_LEVEL: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_BASE_LEVEL: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_MAX_LOD: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_MIN_LOD: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_ELEMENTS_INDICES: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_ELEMENTS_VERTICES: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNSIGNED_INT_2_10_10_10_REV: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly MAX_3D_TEXTURE_SIZE: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_WRAP_R: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_3D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNPACK_IMAGE_HEIGHT: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNPACK_SKIP_IMAGES: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly TEXTURE_BINDING_3D: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB10_A2: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGBA8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RGB8: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly RED: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly STENCIL: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly DEPTH: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly COLOR: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PACK_SKIP_PIXELS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PACK_SKIP_ROWS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly PACK_ROW_LENGTH: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNPACK_SKIP_PIXELS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNPACK_SKIP_ROWS: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly UNPACK_ROW_LENGTH: GLenum; | Added|
| webgl2 | WebGL2RenderingContextBase | readonly READ_BUFFER: GLenum; | Added|
| webgl | WebGLRenderingContextOverloads | uniformMatrix4fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniformMatrix3fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniformMatrix2fv(location: WebGLUniformLocation \| null, transpose: GLboolean, value: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform4iv(location: WebGLUniformLocation \| null, v: Int32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform3iv(location: WebGLUniformLocation \| null, v: Int32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform2iv(location: WebGLUniformLocation \| null, v: Int32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform1iv(location: WebGLUniformLocation \| null, v: Int32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform4fv(location: WebGLUniformLocation \| null, v: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform3fv(location: WebGLUniformLocation \| null, v: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform2fv(location: WebGLUniformLocation \| null, v: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | uniform1fv(location: WebGLUniformLocation \| null, v: Float32List): void; | Added|
| webgl | WebGLRenderingContextOverloads | texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null): void;<br>texSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; | Added|
| webgl | WebGLRenderingContextOverloads | texImage2D(target: GLenum, level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null): void;<br>texImage2D(target: GLenum, level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource): void; | Added|
| webgl | WebGLRenderingContextOverloads | readPixels(x: GLint, y: GLint, width: GLsizei, height: GLsizei, format: GLenum, type: GLenum, pixels: ArrayBufferView \| null): void; | Added|
| webgl | WebGLRenderingContextOverloads | compressedTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, width: GLsizei, height: GLsizei, format: GLenum, data: ArrayBufferView): void; | Added|
| webgl | WebGLRenderingContextOverloads | compressedTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data: ArrayBufferView): void; | Added|
| webgl | WebGLRenderingContextOverloads | bufferSubData(target: GLenum, offset: GLintptr, data: BufferSource): void; | Added|
| webgl | WebGLRenderingContextOverloads | bufferData(target: GLenum, size: GLsizeiptr, usage: GLenum): void;<br>bufferData(target: GLenum, data: BufferSource \| null, usage: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttribPointer(index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib4fv(index: GLuint, values: Float32List): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib3fv(index: GLuint, values: Float32List): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib2fv(index: GLuint, values: Float32List): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib1fv(index: GLuint, values: Float32List): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib4f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib3f(index: GLuint, x: GLfloat, y: GLfloat, z: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib2f(index: GLuint, x: GLfloat, y: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | vertexAttrib1f(index: GLuint, x: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | validateProgram(program: WebGLProgram): void; | Added|
| webgl | WebGLRenderingContextBase | useProgram(program: WebGLProgram \| null): void; | Added|
| webgl | WebGLRenderingContextBase | uniform4i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint, w: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | uniform3i(location: WebGLUniformLocation \| null, x: GLint, y: GLint, z: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | uniform2i(location: WebGLUniformLocation \| null, x: GLint, y: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | uniform1i(location: WebGLUniformLocation \| null, x: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | uniform4f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat, w: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | uniform3f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat, z: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | uniform2f(location: WebGLUniformLocation \| null, x: GLfloat, y: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | uniform1f(location: WebGLUniformLocation \| null, x: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | texParameteri(target: GLenum, pname: GLenum, param: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | texParameterf(target: GLenum, pname: GLenum, param: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | stencilOpSeparate(face: GLenum, fail: GLenum, zfail: GLenum, zpass: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | stencilOp(fail: GLenum, zfail: GLenum, zpass: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | stencilMaskSeparate(face: GLenum, mask: GLuint): void; | Added|
| webgl | WebGLRenderingContextBase | stencilMask(mask: GLuint): void; | Added|
| webgl | WebGLRenderingContextBase | stencilFuncSeparate(face: GLenum, func: GLenum, ref: GLint, mask: GLuint): void; | Added|
| webgl | WebGLRenderingContextBase | stencilFunc(func: GLenum, ref: GLint, mask: GLuint): void; | Added|
| webgl | WebGLRenderingContextBase | shaderSource(shader: WebGLShader, source: string): void; | Added|
| webgl | WebGLRenderingContextBase | scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; | Added|
| webgl | WebGLRenderingContextBase | sampleCoverage(value: GLclampf, invert: GLboolean): void; | Added|
| webgl | WebGLRenderingContextBase | renderbufferStorage(target: GLenum, internalformat: GLenum, width: GLsizei, height: GLsizei): void; | Added|
| webgl | WebGLRenderingContextBase | polygonOffset(factor: GLfloat, units: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | pixelStorei(pname: GLenum, param: GLint \| GLboolean): void; | Added|
| webgl | WebGLRenderingContextBase | linkProgram(program: WebGLProgram): void; | Added|
| webgl | WebGLRenderingContextBase | lineWidth(width: GLfloat): void; | Added|
| webgl | WebGLRenderingContextBase | isTexture(texture: WebGLTexture \| null): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | isShader(shader: WebGLShader \| null): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | isRenderbuffer(renderbuffer: WebGLRenderbuffer \| null): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | isProgram(program: WebGLProgram \| null): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | isFramebuffer(framebuffer: WebGLFramebuffer \| null): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | isEnabled(cap: GLenum): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | isBuffer(buffer: WebGLBuffer \| null): GLboolean; | Added|
| webgl | WebGLRenderingContextBase | hint(target: GLenum, mode: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | getVertexAttribOffset(index: GLuint, pname: GLenum): GLintptr; | Added|
| webgl | WebGLRenderingContextBase | getVertexAttrib(index: GLuint, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation \| null; | Added|
| webgl | WebGLRenderingContextBase | getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; | Added|
| webgl | WebGLRenderingContextBase | getTexParameter(target: GLenum, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getShaderSource(shader: WebGLShader): string \| null; | Added|
| webgl | WebGLRenderingContextBase | getShaderInfoLog(shader: WebGLShader): string \| null; | Added|
| webgl | WebGLRenderingContextBase | getShaderPrecisionFormat(shadertype: GLenum, precisiontype: GLenum): WebGLShaderPrecisionFormat \| null; | Added|
| webgl | WebGLRenderingContextBase | getShaderParameter(shader: WebGLShader, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getRenderbufferParameter(target: GLenum, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getProgramInfoLog(program: WebGLProgram): string \| null; | Added|
| webgl | WebGLRenderingContextBase | getProgramParameter(program: WebGLProgram, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getFramebufferAttachmentParameter(target: GLenum, attachment: GLenum, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getError(): GLenum; | Added|
| webgl | WebGLRenderingContextBase | getParameter(pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getBufferParameter(target: GLenum, pname: GLenum): any; | Added|
| webgl | WebGLRenderingContextBase | getAttribLocation(program: WebGLProgram, name: string): GLint; | Added|
| webgl | WebGLRenderingContextBase | getAttachedShaders(program: WebGLProgram): WebGLShader[] \| null; | Added|
| webgl | WebGLRenderingContextBase | getActiveUniform(program: WebGLProgram, index: GLuint): WebGLActiveInfo \| null; | Added|
| webgl | WebGLRenderingContextBase | getActiveAttrib(program: WebGLProgram, index: GLuint): WebGLActiveInfo \| null; | Added|
| webgl | WebGLRenderingContextBase | generateMipmap(target: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | frontFace(mode: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | framebufferTexture2D(target: GLenum, attachment: GLenum, textarget: GLenum, texture: WebGLTexture \| null, level: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | framebufferRenderbuffer(target: GLenum, attachment: GLenum, renderbuffertarget: GLenum, renderbuffer: WebGLRenderbuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | flush(): void; | Added|
| webgl | WebGLRenderingContextBase | finish(): void; | Added|
| webgl | WebGLRenderingContextBase | enableVertexAttribArray(index: GLuint): void; | Added|
| webgl | WebGLRenderingContextBase | enable(cap: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void; | Added|
| webgl | WebGLRenderingContextBase | drawArrays(mode: GLenum, first: GLint, count: GLsizei): void; | Added|
| webgl | WebGLRenderingContextBase | disableVertexAttribArray(index: GLuint): void; | Added|
| webgl | WebGLRenderingContextBase | disable(cap: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | detachShader(program: WebGLProgram, shader: WebGLShader): void; | Added|
| webgl | WebGLRenderingContextBase | depthRange(zNear: GLclampf, zFar: GLclampf): void; | Added|
| webgl | WebGLRenderingContextBase | depthMask(flag: GLboolean): void; | Added|
| webgl | WebGLRenderingContextBase | depthFunc(func: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | deleteTexture(texture: WebGLTexture \| null): void; | Added|
| webgl | WebGLRenderingContextBase | deleteShader(shader: WebGLShader \| null): void; | Added|
| webgl | WebGLRenderingContextBase | deleteRenderbuffer(renderbuffer: WebGLRenderbuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | deleteProgram(program: WebGLProgram \| null): void; | Added|
| webgl | WebGLRenderingContextBase | deleteFramebuffer(framebuffer: WebGLFramebuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | deleteBuffer(buffer: WebGLBuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | cullFace(mode: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | createTexture(): WebGLTexture \| null; | Added|
| webgl | WebGLRenderingContextBase | createShader(type: GLenum): WebGLShader \| null; | Added|
| webgl | WebGLRenderingContextBase | createRenderbuffer(): WebGLRenderbuffer \| null; | Added|
| webgl | WebGLRenderingContextBase | createProgram(): WebGLProgram \| null; | Added|
| webgl | WebGLRenderingContextBase | createFramebuffer(): WebGLFramebuffer \| null; | Added|
| webgl | WebGLRenderingContextBase | createBuffer(): WebGLBuffer \| null; | Added|
| webgl | WebGLRenderingContextBase | copyTexSubImage2D(target: GLenum, level: GLint, xoffset: GLint, yoffset: GLint, x: GLint, y: GLint, width: GLsizei, height: GLsizei): void; | Added|
| webgl | WebGLRenderingContextBase | copyTexImage2D(target: GLenum, level: GLint, internalformat: GLenum, x: GLint, y: GLint, width: GLsizei, height: GLsizei, border: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | compileShader(shader: WebGLShader): void; | Added|
| webgl | WebGLRenderingContextBase | colorMask(red: GLboolean, green: GLboolean, blue: GLboolean, alpha: GLboolean): void; | Added|
| webgl | WebGLRenderingContextBase | clearStencil(s: GLint): void; | Added|
| webgl | WebGLRenderingContextBase | clearDepth(depth: GLclampf): void; | Added|
| webgl | WebGLRenderingContextBase | clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; | Added|
| webgl | WebGLRenderingContextBase | clear(mask: GLbitfield): void; | Added|
| webgl | WebGLRenderingContextBase | checkFramebufferStatus(target: GLenum): GLenum; | Added|
| webgl | WebGLRenderingContextBase | blendFuncSeparate(srcRGB: GLenum, dstRGB: GLenum, srcAlpha: GLenum, dstAlpha: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | blendFunc(sfactor: GLenum, dfactor: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | blendEquationSeparate(modeRGB: GLenum, modeAlpha: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | blendEquation(mode: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | blendColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void; | Added|
| webgl | WebGLRenderingContextBase | bindTexture(target: GLenum, texture: WebGLTexture \| null): void; | Added|
| webgl | WebGLRenderingContextBase | bindRenderbuffer(target: GLenum, renderbuffer: WebGLRenderbuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | bindFramebuffer(target: GLenum, framebuffer: WebGLFramebuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | bindBuffer(target: GLenum, buffer: WebGLBuffer \| null): void; | Added|
| webgl | WebGLRenderingContextBase | bindAttribLocation(program: WebGLProgram, index: GLuint, name: string): void; | Added|
| webgl | WebGLRenderingContextBase | attachShader(program: WebGLProgram, shader: WebGLShader): void; | Added|
| webgl | WebGLRenderingContextBase | activeTexture(texture: GLenum): void; | Added|
| webgl | WebGLRenderingContextBase | getExtension(name: string): any; | Added|
| webgl | WebGLRenderingContextBase | getSupportedExtensions(): string[] \| null; | Added|
| webgl | WebGLRenderingContextBase | isContextLost(): boolean; | Added|
| webgl | WebGLRenderingContextBase | getContextAttributes(): WebGLContextAttributes \| null; | Added|
| webgl | WebGLRenderingContextBase | readonly drawingBufferHeight: GLsizei; | Added|
| webgl | WebGLRenderingContextBase | readonly drawingBufferWidth: GLsizei; | Added|
| webgl | WebGLRenderingContextBase | readonly canvas: HTMLCanvasElement \| OffscreenCanvas; | Added|
| webgl | WebGLRenderingContextBase | readonly BROWSER_DEFAULT_WEBGL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNPACK_COLORSPACE_CONVERSION_WEBGL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CONTEXT_LOST_WEBGL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNPACK_FLIP_Y_WEBGL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INVALID_FRAMEBUFFER_OPERATION: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_RENDERBUFFER_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_BINDING: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_BINDING: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_UNSUPPORTED: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_INCOMPLETE_DIMENSIONS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_INCOMPLETE_ATTACHMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_COMPLETE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NONE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_STENCIL_ATTACHMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_ATTACHMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_ATTACHMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly COLOR_ATTACHMENT0: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_STENCIL_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_DEPTH_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_ALPHA_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_BLUE_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_GREEN_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_RED_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_INTERNAL_FORMAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_HEIGHT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER_WIDTH: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_STENCIL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_INDEX8: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_COMPONENT16: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RGB565: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RGB5_A1: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RGBA4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERBUFFER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAMEBUFFER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly HIGH_INT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MEDIUM_INT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LOW_INT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly HIGH_FLOAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MEDIUM_FLOAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LOW_FLOAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly COMPILE_STATUS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly IMPLEMENTATION_COLOR_READ_FORMAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly IMPLEMENTATION_COLOR_READ_TYPE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_POINTER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_NORMALIZED: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_TYPE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_STRIDE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_ATTRIB_ARRAY_ENABLED: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLER_CUBE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLER_2D: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT_MAT4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT_MAT3: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT_MAT2: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BOOL_VEC4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BOOL_VEC3: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BOOL_VEC2: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BOOL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INT_VEC4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INT_VEC3: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INT_VEC2: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT_VEC4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT_VEC3: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT_VEC2: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MIRRORED_REPEAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CLAMP_TO_EDGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly REPEAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ACTIVE_TEXTURE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE31: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE30: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE29: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE28: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE27: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE26: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE25: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE24: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE23: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE22: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE21: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE20: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE19: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE18: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE17: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE16: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE15: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE14: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE13: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE12: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE11: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE10: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE9: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE8: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE7: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE6: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE5: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE3: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE2: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE1: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE0: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_CUBE_MAP_TEXTURE_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP_NEGATIVE_Z: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP_POSITIVE_Z: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP_NEGATIVE_Y: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP_POSITIVE_Y: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP_NEGATIVE_X: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP_POSITIVE_X: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_BINDING_CUBE_MAP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_CUBE_MAP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_2D: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_WRAP_T: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_WRAP_S: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_MIN_FILTER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_MAG_FILTER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINEAR_MIPMAP_LINEAR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NEAREST_MIPMAP_LINEAR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINEAR_MIPMAP_NEAREST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NEAREST_MIPMAP_NEAREST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINEAR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NEAREST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERSION: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RENDERER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VENDOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DECR_WRAP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INCR_WRAP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INVERT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DECR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INCR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly REPLACE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly KEEP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ALWAYS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly GEQUAL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NOTEQUAL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly GREATER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LEQUAL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly EQUAL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LESS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NEVER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CURRENT_PROGRAM: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SHADING_LANGUAGE_VERSION: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ACTIVE_ATTRIBUTES: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ACTIVE_UNIFORMS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ATTACHED_SHADERS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VALIDATE_STATUS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINK_STATUS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DELETE_STATUS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SHADER_TYPE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_FRAGMENT_UNIFORM_VECTORS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_TEXTURE_IMAGE_UNITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_VARYING_VECTORS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_VERTEX_UNIFORM_VECTORS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_VERTEX_ATTRIBS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VERTEX_SHADER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRAGMENT_SHADER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNSIGNED_SHORT_5_6_5: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNSIGNED_SHORT_5_5_5_1: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNSIGNED_SHORT_4_4_4_4: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LUMINANCE_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LUMINANCE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RGBA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RGB: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_COMPONENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FLOAT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNSIGNED_INT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNSIGNED_SHORT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SHORT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNSIGNED_BYTE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BYTE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly GENERATE_MIPMAP_HINT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NICEST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FASTEST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DONT_CARE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly COMPRESSED_TEXTURE_FORMATS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLE_COVERAGE_INVERT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLE_COVERAGE_VALUE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLES: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLE_BUFFERS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TEXTURE_BINDING_2D: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly POLYGON_OFFSET_FACTOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly POLYGON_OFFSET_UNITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ALPHA_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLUE_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly GREEN_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly RED_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SUBPIXEL_BITS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_VIEWPORT_DIMS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly MAX_TEXTURE_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly PACK_ALIGNMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly UNPACK_ALIGNMENT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly COLOR_WRITEMASK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly COLOR_CLEAR_VALUE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SCISSOR_BOX: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly VIEWPORT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_WRITEMASK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_VALUE_MASK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_REF: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_PASS_DEPTH_PASS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_PASS_DEPTH_FAIL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_FAIL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BACK_FUNC: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_WRITEMASK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_VALUE_MASK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_REF: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_PASS_DEPTH_PASS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_PASS_DEPTH_FAIL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_FAIL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_FUNC: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_CLEAR_VALUE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_FUNC: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_CLEAR_VALUE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_WRITEMASK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_RANGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRONT_FACE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CULL_FACE_MODE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ALIASED_LINE_WIDTH_RANGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ALIASED_POINT_SIZE_RANGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINE_WIDTH: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CCW: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CW: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly OUT_OF_MEMORY: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INVALID_OPERATION: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INVALID_VALUE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly INVALID_ENUM: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly NO_ERROR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLE_COVERAGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SAMPLE_ALPHA_TO_COVERAGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly POLYGON_OFFSET_FILL: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SCISSOR_TEST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_TEST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_TEST: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DITHER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CULL_FACE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRONT_AND_BACK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BACK: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FRONT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CURRENT_VERTEX_ATTRIB: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BUFFER_USAGE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BUFFER_SIZE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DYNAMIC_DRAW: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STATIC_DRAW: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STREAM_DRAW: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ELEMENT_ARRAY_BUFFER_BINDING: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ARRAY_BUFFER_BINDING: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ELEMENT_ARRAY_BUFFER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ARRAY_BUFFER: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE_MINUS_CONSTANT_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CONSTANT_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE_MINUS_CONSTANT_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly CONSTANT_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_SRC_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_DST_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_SRC_RGB: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_DST_RGB: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FUNC_REVERSE_SUBTRACT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FUNC_SUBTRACT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_EQUATION_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_EQUATION_RGB: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly BLEND_EQUATION: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly FUNC_ADD: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SRC_ALPHA_SATURATE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE_MINUS_DST_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DST_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE_MINUS_DST_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DST_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE_MINUS_SRC_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SRC_ALPHA: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE_MINUS_SRC_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly SRC_COLOR: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ONE: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly ZERO: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TRIANGLE_FAN: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TRIANGLE_STRIP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly TRIANGLES: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINE_STRIP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINE_LOOP: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly LINES: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly POINTS: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly COLOR_BUFFER_BIT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly STENCIL_BUFFER_BIT: GLenum; | Added|
| webgl | WebGLRenderingContextBase | readonly DEPTH_BUFFER_BIT: GLenum; | Added|
| webgl | WebGLShaderPrecisionFormat | readonly precision: GLint; | Added|
| webgl | WebGLShaderPrecisionFormat | readonly rangeMax: GLint; | Added|
| webgl | WebGLShaderPrecisionFormat | readonly rangeMin: GLint; | Added|
| webgl | WebGLActiveInfo | readonly name: string; | Added|
| webgl | WebGLActiveInfo | readonly type: GLenum; | Added|
| webgl | WebGLActiveInfo | readonly size: GLint; | Added|
| webgl | WebGLContextAttributes | desynchronized?: boolean; | Added|
| webgl | WebGLContextAttributes | failIfMajorPerformanceCaveat?: boolean; | Added|
| webgl | WebGLContextAttributes | powerPreference?: WebGLPowerPreference; | Added|
| webgl | WebGLContextAttributes | preserveDrawingBuffer?: boolean; | Added|
| webgl | WebGLContextAttributes | premultipliedAlpha?: boolean; | Added|
| webgl | WebGLContextAttributes | antialias?: boolean; | Added|
| webgl | WebGLContextAttributes | stencil?: boolean; | Added|
| webgl | WebGLContextAttributes | depth?: boolean; | Added|
| webgl | WebGLContextAttributes | alpha?: boolean; | Added|
# JS API Changes of the Misc Services Subsystem
The table below lists the APIs changes of the Misc services subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.wallpaper | RgbaColor | alpha: number; | Added|
| ohos.wallpaper | RgbaColor | blue: number; | Added|
| ohos.wallpaper | RgbaColor | green: number; | Added|
| ohos.wallpaper | RgbaColor | red: number; | Added|
| ohos.wallpaper | wallpaper | function off(type: 'colorChange', callback?: (colors: Array<RgbaColor>, wallpaperType: WallpaperType) => void): void; | Added|
| ohos.wallpaper | wallpaper | function on(type: 'colorChange', callback: (colors: Array<RgbaColor>, wallpaperType: WallpaperType) => void): void; | Added|
| ohos.wallpaper | wallpaper | function setWallpaper(source: string \| image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback<void>): void;<br>function setWallpaper(source: string \| image.PixelMap, wallpaperType: WallpaperType): Promise<void>; | Added|
| ohos.wallpaper | wallpaper | function reset(wallpaperType: WallpaperType, callback: AsyncCallback<void>): void;<br>function reset(wallpaperType: WallpaperType): Promise<void>; | Added|
| ohos.wallpaper | wallpaper | function isOperationAllowed(callback: AsyncCallback<boolean>): void;<br>function isOperationAllowed(): Promise<boolean>; | Added|
| ohos.wallpaper | wallpaper | function isChangePermitted(callback: AsyncCallback<boolean>): void;<br>function isChangePermitted(): Promise<boolean>; | Added|
| ohos.wallpaper | wallpaper | function getMinWidth(callback: AsyncCallback<number>): void;<br>function getMinWidth(): Promise<number>; | Added|
| ohos.wallpaper | wallpaper | function getMinHeight(callback: AsyncCallback<number>): void;<br>function getMinHeight(): Promise<number>; | Added|
| ohos.wallpaper | wallpaper | function getFile(wallpaperType: WallpaperType, callback: AsyncCallback<number>): void;<br>function getFile(wallpaperType: WallpaperType): Promise<number>; | Added|
| ohos.wallpaper | wallpaper | function getId(wallpaperType: WallpaperType, callback: AsyncCallback<number>): void;<br>function getId(wallpaperType: WallpaperType): Promise<number>; | Added|
| ohos.wallpaper | wallpaper | function getColors(wallpaperType: WallpaperType, callback: AsyncCallback<Array<RgbaColor>>): void;<br>function getColors(wallpaperType: WallpaperType): Promise<Array<RgbaColor>>; | Added|
| ohos.wallpaper | WallpaperType | WALLPAPER_LOCKSCREEN | Added|
| ohos.wallpaper | WallpaperType | WALLPAPER_SYSTEM | Added|
| ohos.systemTime | systemTime | function getTimezone(callback: AsyncCallback<string>): void;<br>function getTimezone(): Promise<string>; | Added|
| ohos.systemTime | systemTime | function getDate(callback: AsyncCallback<Date>): void;<br>function getDate(): Promise<Date>; | Added|
| ohos.systemTime | systemTime | function getRealTime(isNano?: boolean, callback: AsyncCallback<number>): void;<br>function getRealTime(isNano?: boolean): Promise<number>; | Added|
| ohos.systemTime | systemTime | function getRealActiveTime(isNano?: boolean, callback: AsyncCallback<number>): void;<br>function getRealActiveTime(isNano?: boolean): Promise<number>; | Added|
| ohos.systemTime | systemTime | function getCurrentTime(isNano?: boolean, callback: AsyncCallback<number>): void;<br>function getCurrentTime(isNano?: boolean): Promise<number>; | Added|
| ohos.screenLock | screenLock | function unlockScreen(callback: AsyncCallback<void>): void;<br>function unlockScreen():Promise<void>; | Added|
| ohos.screenLock | screenLock | function isSecureMode(callback: AsyncCallback<boolean>): void;<br>function isSecureMode(): Promise<boolean>; | Added|
| ohos.screenLock | screenLock | function isScreenLocked(callback: AsyncCallback<boolean>): void;<br>function isScreenLocked(): Promise<boolean>; | Added|
| ohos.request | UploadTask | remove(callback: AsyncCallback<boolean>): void;<br>remove(): Promise<boolean>; | Added|
| ohos.request | UploadTask | off(type: 'headerReceive', callback?: (header: object) => void): void; | Added|
| ohos.request | UploadTask | on(type: 'headerReceive', callback: (header: object) => void): void; | Added|
| ohos.request | UploadTask | off(type: 'progress', callback?: (uploadedSize: number, totalSize: number) => void): void; | Added|
| ohos.request | UploadTask | on(type: 'progress', callback: (uploadedSize: number, totalSize: number) => void): void; | Added|
| ohos.request | UploadConfig | data: Array<RequestData>; | Added|
| ohos.request | UploadConfig | files: Array<File>; | Added|
| ohos.request | UploadConfig | method: string; | Added|
| ohos.request | UploadConfig | header: Object; | Added|
| ohos.request | UploadConfig | url: string; | Added|
| ohos.request | RequestData | value: string; | Added|
| ohos.request | RequestData | name: string; | Added|
| ohos.request | File | type: string; | Added|
| ohos.request | File | uri: string; | Added|
| ohos.request | File | name: string; | Added|
| ohos.request | File | filename: string; | Added|
| ohos.request | DownloadTask | queryMimeType(callback: AsyncCallback<string>): void;<br>queryMimeType(): Promise<string>; | Added|
| ohos.request | DownloadTask | query(callback: AsyncCallback<DownloadInfo>): void;<br>query(): Promise<DownloadInfo>; | Added|
| ohos.request | DownloadTask | resume(callback: AsyncCallback<void>): void;<br>resume(): Promise<void>; | Added|
| ohos.request | DownloadTask | pause(callback: AsyncCallback<void>): void;<br>pause(): Promise<void>; | Added|
| ohos.request | DownloadTask | remove(callback: AsyncCallback<boolean>): void;<br>remove(): Promise<boolean>; | Added|
| ohos.request | DownloadTask | off(type: 'fail', callback?: (err: number) => void): void; | Added|
| ohos.request | DownloadTask | on(type: 'fail', callback: (err: number) => void): void; | Added|
| ohos.request | DownloadTask | off(type: 'complete' \| 'pause' \| 'remove', callback?: () => void): void; | Added|
| ohos.request | DownloadTask | off(type: 'complete' \| 'pause' \| 'remove', callback?: () => void): void; | Added|
| ohos.request | DownloadTask | off(type: 'complete' \| 'pause' \| 'remove', callback?: () => void): void; | Added|
| ohos.request | DownloadTask | on(type: 'complete' \| 'pause' \| 'remove', callback: () => void): void; | Added|
| ohos.request | DownloadTask | on(type: 'complete' \| 'pause' \| 'remove', callback: () => void): void; | Added|
| ohos.request | DownloadTask | on(type: 'complete' \| 'pause' \| 'remove', callback: () => void): void; | Added|
| ohos.request | DownloadTask | off(type: 'progress', callback?: (receivedSize: number, totalSize: number) => void): void; | Added|
| ohos.request | DownloadTask | on(type: 'progress', callback: (receivedSize: number, totalSize: number) => void): void; | Added|
| ohos.request | DownloadInfo | downloadTotalBytes: number; | Added|
| ohos.request | DownloadInfo | downloadTitle: string; | Added|
| ohos.request | DownloadInfo | targetURI: string; | Added|
| ohos.request | DownloadInfo | status: number; | Added|
| ohos.request | DownloadInfo | pausedReason: number; | Added|
| ohos.request | DownloadInfo | filePath: string; | Added|
| ohos.request | DownloadInfo | fileName: string; | Added|
| ohos.request | DownloadInfo | failedReason: number; | Added|
| ohos.request | DownloadInfo | downloadId: number; | Added|
| ohos.request | DownloadInfo | downloadedBytes: number; | Added|
| ohos.request | DownloadInfo | description: string; | Added|
| ohos.request | DownloadConfig | title?: string; | Added|
| ohos.request | DownloadConfig | filePath?: string; | Added|
| ohos.request | DownloadConfig | networkType?: number; | Added|
| ohos.request | DownloadConfig | description?: string; | Added|
| ohos.request | DownloadConfig | enableRoaming?: boolean; | Added|
| ohos.request | DownloadConfig | enableMetered?: boolean; | Added|
| ohos.request | DownloadConfig | header?: Object; | Added|
| ohos.request | DownloadConfig | url: string; | Added|
| ohos.request | request | function upload(config: UploadConfig, callback: AsyncCallback<UploadTask>): void;<br>function upload(config: UploadConfig): Promise<UploadTask>; | Added|
| ohos.request | request | function download(config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;<br>function download(config: DownloadConfig): Promise<DownloadTask>; | Added|
| ohos.request | request | const SESSION_SUCCESSFUL: number; | Added|
| ohos.request | request | const SESSION_RUNNING: number; | Added|
| ohos.request | request | const SESSION_PENDING: number; | Added|
| ohos.request | request | const SESSION_PAUSED: number; | Added|
| ohos.request | request | const SESSION_FAILED: number; | Added|
| ohos.request | request | const PAUSED_WAITING_TO_RETRY: number; | Added|
| ohos.request | request | const PAUSED_WAITING_FOR_NETWORK: number; | Added|
| ohos.request | request | const PAUSED_UNKNOWN: number; | Added|
| ohos.request | request | const PAUSED_QUEUED_FOR_WIFI: number; | Added|
| ohos.request | request | const ERROR_UNKNOWN: number; | Added|
| ohos.request | request | const ERROR_UNHANDLED_HTTP_CODE: number; | Added|
| ohos.request | request | const ERROR_TOO_MANY_REDIRECTS: number; | Added|
| ohos.request | request | const ERROR_INSUFFICIENT_SPACE: number; | Added|
| ohos.request | request | const ERROR_HTTP_DATA_ERROR: number; | Added|
| ohos.request | request | const ERROR_FILE_ERROR: number; | Added|
| ohos.request | request | const ERROR_FILE_ALREADY_EXISTS: number; | Added|
| ohos.request | request | const ERROR_DEVICE_NOT_FOUND: number; | Added|
| ohos.request | request | const ERROR_CANNOT_RESUME: number; | Added|
| ohos.request | request | const NETWORK_WIFI: number; | Added|
| ohos.request | request | const NETWORK_MOBILE: number; | Added|
| ohos.pasteboard | SystemPasteboard | setPasteData(data: PasteData, callback: AsyncCallback<void>): void;<br>setPasteData(data: PasteData): Promise<void>; | Added|
| ohos.pasteboard | SystemPasteboard | hasPasteData(callback: AsyncCallback<boolean>): void;<br>hasPasteData(): Promise<boolean>; | Added|
| ohos.pasteboard | SystemPasteboard | getPasteData(callback: AsyncCallback<PasteData>): void;<br>getPasteData(): Promise<PasteData>; | Added|
| ohos.pasteboard | SystemPasteboard | clear(callback: AsyncCallback<void>): void;<br>clear(): Promise<void>; | Added|
| ohos.pasteboard | SystemPasteboard | off(type: 'update', callback?: () => void): void; | Added|
| ohos.pasteboard | SystemPasteboard | on(type: 'update', callback: () => void): void; | Added|
| ohos.pasteboard | PasteData | replaceRecordAt(index: number, record: PasteDataRecord): boolean; | Added|
| ohos.pasteboard | PasteData | removeRecordAt(index: number): boolean; | Added|
| ohos.pasteboard | PasteData | hasMimeType(mimeType: string): boolean; | Added|
| ohos.pasteboard | PasteData | getTag(): string; | Added|
| ohos.pasteboard | PasteData | getRecordCount(): number; | Added|
| ohos.pasteboard | PasteData | getRecordAt(index: number): PasteDataRecord; | Added|
| ohos.pasteboard | PasteData | getProperty(): PasteDataProperty; | Added|
| ohos.pasteboard | PasteData | getPrimaryUri(): string; | Added|
| ohos.pasteboard | PasteData | getPrimaryText(): string; | Added|
| ohos.pasteboard | PasteData | getPrimaryMimeType(): string; | Added|
| ohos.pasteboard | PasteData | getPrimaryWant(): Want; | Added|
| ohos.pasteboard | PasteData | getPrimaryHtml(): string; | Added|
| ohos.pasteboard | PasteData | getMimeTypes(): Array<string>; | Added|
| ohos.pasteboard | PasteData | addUriRecord(uri: string): void; | Added|
| ohos.pasteboard | PasteData | addTextRecord(text: string): void; | Added|
| ohos.pasteboard | PasteData | addRecord(record: PasteDataRecord): void; | Added|
| ohos.pasteboard | PasteData | addWantRecord(want: Want): void; | Added|
| ohos.pasteboard | PasteData | addHtmlRecord(htmlText: string): void; | Added|
| ohos.pasteboard | PasteDataRecord | convertToText(callback: AsyncCallback<string>): void;<br>convertToText(): Promise<string>; | Added|
| ohos.pasteboard | PasteDataRecord | uri: string; | Added|
| ohos.pasteboard | PasteDataRecord | plainText: string; | Added|
| ohos.pasteboard | PasteDataRecord | mimeType: string; | Added|
| ohos.pasteboard | PasteDataRecord | want: Want; | Added|
| ohos.pasteboard | PasteDataRecord | htmlText: string; | Added|
| ohos.pasteboard | PasteDataProperty | localOnly: boolean; | Added|
| ohos.pasteboard | PasteDataProperty | readonly timestamp: number; | Added|
| ohos.pasteboard | PasteDataProperty | tag: string; | Added|
| ohos.pasteboard | PasteDataProperty | readonly mimeTypes: Array<string>; | Added|
| ohos.pasteboard | PasteDataProperty | additions: { [key: string]: object } | Added|
| ohos.pasteboard | pasteboard | function getSystemPasteboard(): SystemPasteboard; | Added|
| ohos.pasteboard | pasteboard | function createUriRecord(uri: string): PasteDataRecord; | Added|
| ohos.pasteboard | pasteboard | function createPlainTextRecord(text: string): PasteDataRecord; | Added|
| ohos.pasteboard | pasteboard | function createWantRecord(want: Want): PasteDataRecord; | Added|
| ohos.pasteboard | pasteboard | function createHtmlTextRecord(htmlText: string): PasteDataRecord; | Added|
| ohos.pasteboard | pasteboard | function createUriData(uri: string): PasteData; | Added|
| ohos.pasteboard | pasteboard | function createPlainTextData(text: string): PasteData; | Added|
| ohos.pasteboard | pasteboard | function createWantData(want: Want): PasteData; | Added|
| ohos.pasteboard | pasteboard | function createHtmlData(htmlText: string): PasteData; | Added|
| ohos.pasteboard | pasteboard | const MIMETYPE_TEXT_URI: string; | Added|
| ohos.pasteboard | pasteboard | const MIMETYPE_TEXT_PLAIN: string; | Added|
| ohos.pasteboard | pasteboard | const MIMETYPE_TEXT_WANT: string; | Added|
| ohos.pasteboard | pasteboard | const MIMETYPE_TEXT_HTML: string; | Added|
| ohos.pasteboard | pasteboard | const MAX_RECORD_NUM: number; | Added|
| ohos.inputmethodengine | KeyEvent | readonly keyAction: number; | Added|
| ohos.inputmethodengine | KeyEvent | readonly keyCode: number; | Added|
| ohos.inputmethodengine | EditorAttribute | readonly enterKeyType: number; | Added|
| ohos.inputmethodengine | EditorAttribute | readonly inputPattern: number; | Added|
| ohos.inputmethodengine | KeyboardDelegate | off(type: 'textChange', callback?: (text: string) => void): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | on(type: 'textChange', callback: (text: string) => void): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | off(type: 'cursorContextChange', callback?: (x: number, y: number, height: number) => void): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | on(type: 'cursorContextChange', callback: (x: number, y: number, height: number) => void): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | off(type: 'keyDown'\|'keyUp', callback?: (event: KeyEvent) => boolean): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | off(type: 'keyDown'\|'keyUp', callback?: (event: KeyEvent) => boolean): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | on(type: 'keyDown'\|'keyUp', callback: (event: KeyEvent) => boolean): void; | Added|
| ohos.inputmethodengine | KeyboardDelegate | on(type: 'keyDown'\|'keyUp', callback: (event: KeyEvent) => boolean): void; | Added|
| ohos.inputmethodengine | TextInputClient | getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void;<br>getEditorAttribute(): Promise<EditorAttribute>; | Added|
| ohos.inputmethodengine | TextInputClient | getBackward(length: number, callback: AsyncCallback<string>): void;<br>getBackward(length: number): Promise<string>; | Added|
| ohos.inputmethodengine | TextInputClient | getForward(length: number, callback: AsyncCallback<string>): void;<br>getForward(length: number): Promise<string>; | Added|
| ohos.inputmethodengine | TextInputClient | insertText(text: string, callback: AsyncCallback<boolean>): void;<br>insertText(text: string): Promise<boolean>; | Added|
| ohos.inputmethodengine | TextInputClient | deleteBackward(length: number, callback: AsyncCallback<boolean>): void;<br>deleteBackward(length: number): Promise<boolean>; | Added|
| ohos.inputmethodengine | TextInputClient | deleteForward(length: number, callback: AsyncCallback<boolean>): void;<br>deleteForward(length: number): Promise<boolean>; | Added|
| ohos.inputmethodengine | TextInputClient | sendKeyFunction(action: number, callback: AsyncCallback<boolean>): void;<br>sendKeyFunction(action: number): Promise<boolean>; | Added|
| ohos.inputmethodengine | InputMethodEngine | off(type: 'keyboardShow'\|'keyboardHide', callback?: () => void): void; | Added|
| ohos.inputmethodengine | InputMethodEngine | off(type: 'keyboardShow'\|'keyboardHide', callback?: () => void): void; | Added|
| ohos.inputmethodengine | InputMethodEngine | on(type: 'keyboardShow'\|'keyboardHide', callback: () => void): void; | Added|
| ohos.inputmethodengine | InputMethodEngine | on(type: 'keyboardShow'\|'keyboardHide', callback: () => void): void; | Added|
| ohos.inputmethodengine | InputMethodEngine | off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void; | Added|
| ohos.inputmethodengine | InputMethodEngine | on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void; | Added|
| ohos.inputmethodengine | KeyboardController | hideKeyboard(callback: AsyncCallback<void>): void;<br>hideKeyboard(): Promise<void>; | Added|
| ohos.inputmethodengine | inputMethodEngine | function createKeyboardDelegate(): KeyboardDelegate; | Added|
| ohos.inputmethodengine | inputMethodEngine | function getInputMethodEngine(): InputMethodEngine; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_NO_FULLSCREEN: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_MULTI_LINE: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_AUTO_WORDS: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_AUTO_CAP_SENTENCES: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_AUTO_CAP_CHARACTERS: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_NONE: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const OPTION_ASCII: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const DISPLAY_MODE_FULL: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const DISPLAY_MODE_PART: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const FLAG_SINGLE_LINE: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const FLAG_SELECTING: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_PASSWORD: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_URI: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_EMAIL: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_DATETIME: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_PHONE: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_NUMBER: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_TEXT: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const PATTERN_NULL: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_PREVIOUS: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_DONE: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_NEXT: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_SEND: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_SEARCH: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_GO: number; | Added|
| ohos.inputmethodengine | inputMethodEngine | const ENTER_KEY_TYPE_UNSPECIFIED: number; | Added|
| ohos.inputmethod | InputMethodProperty | readonly methodId: string; | Added|
| ohos.inputmethod | InputMethodProperty | readonly packageName: string; | Added|
| ohos.inputmethod | InputMethodController | stopInput(callback: AsyncCallback<boolean>): void;<br>stopInput(): Promise<boolean>; | Added|
| ohos.inputmethod | InputMethodSetting | displayOptionalInputMethod(callback: AsyncCallback<void>): void;<br>displayOptionalInputMethod(): Promise<void>; | Added|
| ohos.inputmethod | InputMethodSetting | listInputMethod(callback: AsyncCallback<Array<InputMethodProperty>>): void;<br>listInputMethod(): Promise<Array<InputMethodProperty>>; | Added|
| ohos.inputmethod | inputMethod | function getInputMethodController(): InputMethodController; | Added|
| ohos.inputmethod | inputMethod | function getInputMethodSetting(): InputMethodSetting; | Added|
| ohos.inputmethod | inputMethod | const MAX_TYPE_NUM: number | Added|
# JS API Changes of the Multimodal Input Subsystem
The table below lists the APIs changes of the multimodal input subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.multimodalInput.inputDevice | inputDevice | function getDevice(deviceId: number, callback: AsyncCallback<InputDeviceData>): void;<br>function getDevice(deviceId: number): Promise<InputDeviceData>; | Added|
| ohos.multimodalInput.inputDevice | inputDevice | function getDeviceIds(callback: AsyncCallback<Array<number>>): void;<br>function getDeviceIds(): Promise<Array<number>>; | Added|
| ohos.multimodalInput.inputDevice | InputDeviceData | axisRanges : Array<AxisRange>; | Added|
| ohos.multimodalInput.inputDevice | InputDeviceData | sources : Array<SourceType>; | Added|
| ohos.multimodalInput.inputDevice | InputDeviceData | name: string; | Added|
| ohos.multimodalInput.inputDevice | InputDeviceData | id: number; | Added|
| ohos.multimodalInput.inputDevice | AxisRange | min: number; | Added|
| ohos.multimodalInput.inputDevice | AxisRange | max : number; | Added|
| ohos.multimodalInput.inputDevice | AxisRange | axis : AxisType; | Added|
| ohos.multimodalInput.inputDevice | AxisRange | source: SourceType; | Added|
# JS API Changes of the Multimedia Subsystem
The table below lists the APIs changes of the multimedia subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.multimedia.mediaLibrary | Size | height: number; | Added|
| ohos.multimedia.mediaLibrary | Size | width: number; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | startMediaSelect(option: MediaSelectOption, callback: AsyncCallback<Array<string>>): void;<br>startMediaSelect(option: MediaSelectOption): Promise<Array<string>>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | startImagePreview(images: Array<string>, index: number, callback: AsyncCallback<void>): void;<br>startImagePreview(images: Array<string>, callback: AsyncCallback<void>): void;<br>startImagePreview(images: Array<string>, index?: number): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | storeMediaAsset(option: MediaAssetOption, callback: AsyncCallback<string>): void;<br>storeMediaAsset(option: MediaAssetOption): Promise<string>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | getAlbums(options: MediaFetchOptions, callback: AsyncCallback<Array<Album>>): void;<br>getAlbums(options: MediaFetchOptions): Promise<Array<Album>>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | createAsset(mediaType: MediaType, displayName: string, relativePath: string, callback: AsyncCallback<FileAsset>): void;<br>createAsset(mediaType: MediaType, displayName: string, relativePath: string): Promise<FileAsset>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | off(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback?: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | on(type: 'deviceChange'\|'albumChange'\|'imageChange'\|'audioChange'\|'videoChange'\|'fileChange'\|'remoteFileChange', callback: Callback<void>): void; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void;<br>getFileAssets(options: MediaFetchOptions): Promise<FetchFileResult>; | Added|
| ohos.multimedia.mediaLibrary | MediaLibrary | getPublicDirectory(type: DirectoryType, callback: AsyncCallback<string>): void;<br>getPublicDirectory(type: DirectoryType): Promise<string>; | Added|
| ohos.multimedia.mediaLibrary | DirectoryType | DIR_DOWNLOAD | Added|
| ohos.multimedia.mediaLibrary | DirectoryType | DIR_DOCUMENTS | Added|
| ohos.multimedia.mediaLibrary | DirectoryType | DIR_AUDIO | Added|
| ohos.multimedia.mediaLibrary | DirectoryType | DIR_IMAGE | Added|
| ohos.multimedia.mediaLibrary | DirectoryType | DIR_VIDEO | Added|
| ohos.multimedia.mediaLibrary | DirectoryType | DIR_CAMERA = 0 | Added|
| ohos.multimedia.mediaLibrary | Album | getFileAssets(callback: AsyncCallback<FetchFileResult>): void;<br>getFileAssets(options: MediaFetchOptions, callback: AsyncCallback<FetchFileResult>): void;<br>getFileAssets(options?: MediaFetchOptions): Promise<FetchFileResult>; | Added|
| ohos.multimedia.mediaLibrary | Album | commitModify(callback: AsyncCallback<void>): void;<br>commitModify(): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | Album | readonly coverUri: string; | Added|
| ohos.multimedia.mediaLibrary | Album | readonly relativePath: string; | Added|
| ohos.multimedia.mediaLibrary | Album | readonly count: number; | Added|
| ohos.multimedia.mediaLibrary | Album | readonly dateModified: number; | Added|
| ohos.multimedia.mediaLibrary | Album | readonly albumUri: string; | Added|
| ohos.multimedia.mediaLibrary | Album | albumName: string; | Added|
| ohos.multimedia.mediaLibrary | Album | readonly albumId: number; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | getAllObject(callback: AsyncCallback<Array<FileAsset>>): void;<br>getAllObject(): Promise<Array<FileAsset>>; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | getPositionObject(index: number, callback: AsyncCallback<FileAsset>): void;<br>getPositionObject(index: number): Promise<FileAsset>; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | getLastObject(callback: AsyncCallback<FileAsset>): void;<br>getLastObject(): Promise<FileAsset>; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | getNextObject(callback: AsyncCallback<FileAsset>): void;<br>getNextObject(): Promise<FileAsset>; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | getFirstObject(callback: AsyncCallback<FileAsset>): void;<br>getFirstObject(): Promise<FileAsset>; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | close(): void; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | isAfterLast(): boolean; | Added|
| ohos.multimedia.mediaLibrary | FetchFileResult | getCount(): number; | Added|
| ohos.multimedia.mediaLibrary | MediaFetchOptions | extendArgs?: string; | Added|
| ohos.multimedia.mediaLibrary | MediaFetchOptions | networkId?: string; | Added|
| ohos.multimedia.mediaLibrary | MediaFetchOptions | uri?: string; | Added|
| ohos.multimedia.mediaLibrary | MediaFetchOptions | order?: string; | Added|
| ohos.multimedia.mediaLibrary | MediaFetchOptions | selectionArgs: Array<string>; | Added|
| ohos.multimedia.mediaLibrary | MediaFetchOptions | selections: string; | Added|
| ohos.multimedia.mediaLibrary | FileKey | ALBUM_NAME = "bucket_display_name" | Added|
| ohos.multimedia.mediaLibrary | FileKey | ALBUM_ID = "bucket_id" | Added|
| ohos.multimedia.mediaLibrary | FileKey | ORIENTATION = "orientation" | Added|
| ohos.multimedia.mediaLibrary | FileKey | HEIGHT = "height" | Added|
| ohos.multimedia.mediaLibrary | FileKey | WIDTH = "width" | Added|
| ohos.multimedia.mediaLibrary | FileKey | DURATION = "duration" | Added|
| ohos.multimedia.mediaLibrary | FileKey | AUDIOALBUM = "audio_album" | Added|
| ohos.multimedia.mediaLibrary | FileKey | ARTIST = "artist" | Added|
| ohos.multimedia.mediaLibrary | FileKey | TITLE = "title" | Added|
| ohos.multimedia.mediaLibrary | FileKey | DATE_TAKEN = "date_taken" | Added|
| ohos.multimedia.mediaLibrary | FileKey | DATE_MODIFIED = "date_modified" | Added|
| ohos.multimedia.mediaLibrary | FileKey | DATE_ADDED = "date_added" | Added|
| ohos.multimedia.mediaLibrary | FileKey | SIZE = "size" | Added|
| ohos.multimedia.mediaLibrary | FileKey | MEDIA_TYPE = "media_type" | Added|
| ohos.multimedia.mediaLibrary | FileKey | MIME_TYPE = "mime_type" | Added|
| ohos.multimedia.mediaLibrary | FileKey | PARENT = "parent" | Added|
| ohos.multimedia.mediaLibrary | FileKey | DISPLAY_NAME = "display_name" | Added|
| ohos.multimedia.mediaLibrary | FileKey | RELATIVE_PATH = "relative_path" | Added|
| ohos.multimedia.mediaLibrary | FileKey | ID = "file_id" | Added|
| ohos.multimedia.mediaLibrary | FileAsset | isTrash(callback: AsyncCallback<boolean>): void;<br>isTrash():Promise<boolean>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | trash(isTrash: boolean, callback: AsyncCallback<void>): void;<br>trash(isTrash: boolean): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | isFavorite(callback: AsyncCallback<boolean>): void;<br>isFavorite():Promise<boolean>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | favorite(isFavorite: boolean, callback: AsyncCallback<void>): void;<br>favorite(isFavorite: boolean): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | getThumbnail(callback: AsyncCallback<image.PixelMap>): void;<br>getThumbnail(size: Size, callback: AsyncCallback<image.PixelMap>): void;<br>getThumbnail(size?: Size): Promise<image.PixelMap>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | close(fd: number, callback: AsyncCallback<void>): void;<br>close(fd: number): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | open(mode: string, callback: AsyncCallback<number>): void;<br>open(mode: string): Promise<number>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | commitModify(callback: AsyncCallback<void>): void;<br>commitModify(): Promise<void>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | isDirectory(callback: AsyncCallback<boolean>): void;<br>isDirectory():Promise<boolean>; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly albumName: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly albumUri: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly albumId: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly duration: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | orientation: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly height: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly width: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly audioAlbum: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly artist: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly dateTaken: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly dateModified: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly dateAdded: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly size: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly parent: number; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | relativePath: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | title: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | displayName: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly mediaType: MediaType; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly mimeType: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly uri: string; | Added|
| ohos.multimedia.mediaLibrary | FileAsset | readonly id: number; | Added|
| ohos.multimedia.mediaLibrary | MediaSelectOption | count: number; | Added|
| ohos.multimedia.mediaLibrary | MediaSelectOption | type: 'image' \| 'video' \| 'media'; | Added|
| ohos.multimedia.mediaLibrary | MediaAssetOption | relativePath?: string; | Added|
| ohos.multimedia.mediaLibrary | MediaAssetOption | mimeType: string; | Added|
| ohos.multimedia.mediaLibrary | MediaAssetOption | src: string; | Added|
| ohos.multimedia.mediaLibrary | MediaType | AUDIO | Added|
| ohos.multimedia.mediaLibrary | MediaType | VIDEO | Added|
| ohos.multimedia.mediaLibrary | MediaType | IMAGE | Added|
| ohos.multimedia.mediaLibrary | MediaType | FILE = 0 | Added|
| ohos.multimedia.mediaLibrary | mediaLibrary | function getMediaLibrary(): MediaLibrary;<br>function getMediaLibrary(context: Context): MediaLibrary; | Added|
| ohos.multimedia.media | CodecMimeType | AUDIO_FLAC = 'audio/flac' | Added|
| ohos.multimedia.media | CodecMimeType | AUDIO_VORBIS = 'audio/vorbis' | Added|
| ohos.multimedia.media | CodecMimeType | AUDIO_AAC = 'audio/mp4a-latm' | Added|
| ohos.multimedia.media | CodecMimeType | VIDEO_VP8 = 'video/x-vnd.on2.vp8' | Added|
| ohos.multimedia.media | CodecMimeType | VIDEO_MPEG4 = 'video/mp4v-es' | Added|
| ohos.multimedia.media | CodecMimeType | VIDEO_MPEG2 = 'video/mpeg2' | Added|
| ohos.multimedia.media | CodecMimeType | VIDEO_AVC = 'video/avc' | Added|
| ohos.multimedia.media | CodecMimeType | VIDEO_H263 = 'video/h263' | Added|
| ohos.multimedia.media | SeekMode | SEEK_PREV_SYNC = 1 | Added|
| ohos.multimedia.media | SeekMode | SEEK_NEXT_SYNC = 0 | Added|
| ohos.multimedia.media | MediaDescription | [key : string]: Object; | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_AUD_SAMPLE_RATE = "sample_rate" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_AUD_CHANNEL_COUNT = "channel_count" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_FRAME_RATE = "frame_rate" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_HEIGHT = "height" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_WIDTH = "width" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_BITRATE = "bitrate" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_DURATION = "duration" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_CODEC_MIME = "codec_mime" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_TRACK_TYPE = "track_type" | Added|
| ohos.multimedia.media | MediaDescriptionKey | MD_KEY_TRACK_INDEX = "track_index" | Added|
| ohos.multimedia.media | MediaType | MEDIA_TYPE_VID = 1 | Added|
| ohos.multimedia.media | MediaType | MEDIA_TYPE_AUD = 0 | Added|
| ohos.multimedia.media | ContainerFormatType | CFT_MPEG_4A = "m4a" | Added|
| ohos.multimedia.media | ContainerFormatType | CFT_MPEG_4 = "mp4" | Added|
| ohos.multimedia.media | VideoPlayer | on(type: 'error', callback: ErrorCallback): void; | Added|
| ohos.multimedia.media | VideoPlayer | on(type: 'videoSizeChanged', callback: (width: number, height: number) => void): void; | Added|
| ohos.multimedia.media | VideoPlayer | on(type: 'startRenderFrame', callback: Callback<void>): void; | Added|
| ohos.multimedia.media | VideoPlayer | on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void; | Added|
| ohos.multimedia.media | VideoPlayer | on(type: 'playbackCompleted', callback: Callback<void>): void; | Added|
| ohos.multimedia.media | VideoPlayer | setSpeed(speed:number, callback: AsyncCallback<number>): void;<br>setSpeed(speed:number): Promise<number>; | Added|
| ohos.multimedia.media | VideoPlayer | readonly height: number; | Added|
| ohos.multimedia.media | VideoPlayer | readonly width: number; | Added|
| ohos.multimedia.media | VideoPlayer | readonly state: VideoPlayState; | Added|
| ohos.multimedia.media | VideoPlayer | readonly duration: number; | Added|
| ohos.multimedia.media | VideoPlayer | readonly currentTime: number; | Added|
| ohos.multimedia.media | VideoPlayer | loop: boolean; | Added|
| ohos.multimedia.media | VideoPlayer | url: string; | Added|
| ohos.multimedia.media | VideoPlayer | getTrackDescription(callback: AsyncCallback<Array<MediaDescription>>): void;<br>getTrackDescription() : Promise<Array<MediaDescription>>; | Added|
| ohos.multimedia.media | VideoPlayer | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | setVolume(vol: number, callback: AsyncCallback<void>): void;<br>setVolume(vol: number): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | seek(timeMs: number, callback: AsyncCallback<number>): void;<br>seek(timeMs: number, mode:SeekMode, callback: AsyncCallback<number>): void;<br>seek(timeMs: number, mode?:SeekMode): Promise<number>; | Added|
| ohos.multimedia.media | VideoPlayer | reset(callback: AsyncCallback<void>): void;<br>reset(): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | stop(callback: AsyncCallback<void>): void;<br>stop(): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | pause(callback: AsyncCallback<void>): void;<br>pause(): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | play(callback: AsyncCallback<void>): void;<br>play(): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | prepare(callback: AsyncCallback<void>): void;<br>prepare(): Promise<void>; | Added|
| ohos.multimedia.media | VideoPlayer | setDisplaySurface(surfaceId: string, callback: AsyncCallback<void>): void;<br>setDisplaySurface(surfaceId: string): Promise<void>; | Added|
| ohos.multimedia.media | PlaybackSpeed | SPEED_FORWARD_2_00_X = 4 | Added|
| ohos.multimedia.media | PlaybackSpeed | SPEED_FORWARD_1_75_X = 3 | Added|
| ohos.multimedia.media | PlaybackSpeed | SPEED_FORWARD_1_25_X = 2 | Added|
| ohos.multimedia.media | PlaybackSpeed | SPEED_FORWARD_1_00_X = 1 | Added|
| ohos.multimedia.media | PlaybackSpeed | SPEED_FORWARD_0_75_X = 0 | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'error', callback: ErrorCallback): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | on(type: 'prepare' \| 'start' \| 'pause' \| 'resume' \| 'stop' \| 'release' \| 'reset', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioRecorder | reset(): void; | Added|
| ohos.multimedia.media | AudioRecorder | release(): void; | Added|
| ohos.multimedia.media | AudioRecorder | stop(): void; | Added|
| ohos.multimedia.media | AudioRecorder | resume(): void; | Added|
| ohos.multimedia.media | AudioRecorder | pause(): void; | Added|
| ohos.multimedia.media | AudioRecorder | start(): void; | Added|
| ohos.multimedia.media | AudioRecorder | prepare(config: AudioRecorderConfig): void; | Added|
| ohos.multimedia.media | AudioRecorderConfig | fileFormat?: ContainerFormatType; | Added|
| ohos.multimedia.media | AudioRecorderConfig | audioEncoderMime?: CodecMimeType; | Added|
| ohos.multimedia.media | AudioRecorderConfig | location?: Location; | Added|
| ohos.multimedia.media | AudioRecorderConfig | uri: string; | Added|
| ohos.multimedia.media | AudioRecorderConfig | format?: AudioOutputFormat; | Added|
| ohos.multimedia.media | AudioRecorderConfig | numberOfChannels?: number; | Added|
| ohos.multimedia.media | AudioRecorderConfig | audioSampleRate?: number; | Added|
| ohos.multimedia.media | AudioRecorderConfig | audioEncodeBitRate?: number; | Added|
| ohos.multimedia.media | AudioRecorderConfig | audioEncoder?: AudioEncoder; | Added|
| ohos.multimedia.media | Location | longitude: number; | Added|
| ohos.multimedia.media | Location | latitude: number; | Added|
| ohos.multimedia.media | AudioOutputFormat | AAC_ADTS = 6 | Added|
| ohos.multimedia.media | AudioOutputFormat | AMR_WB = 4 | Added|
| ohos.multimedia.media | AudioOutputFormat | AMR_NB = 3 | Added|
| ohos.multimedia.media | AudioOutputFormat | MPEG_4 = 2 | Added|
| ohos.multimedia.media | AudioOutputFormat | DEFAULT = 0 | Added|
| ohos.multimedia.media | AudioEncoder | HE_AAC = 4 | Added|
| ohos.multimedia.media | AudioEncoder | AAC_LC = 3 | Added|
| ohos.multimedia.media | AudioEncoder | AMR_WB = 2 | Added|
| ohos.multimedia.media | AudioEncoder | AMR_NB = 1 | Added|
| ohos.multimedia.media | AudioEncoder | DEFAULT = 0 | Added|
| ohos.multimedia.media | AudioPlayer | on(type: 'play' \| 'pause' \| 'stop' \| 'reset' \| 'dataLoad' \| 'finish' \| 'volumeChange', callback: () => void): void; | Added|
| ohos.multimedia.media | AudioPlayer | on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void; | Added|
| ohos.multimedia.media | AudioPlayer | getTrackDescription(callback: AsyncCallback<Array<MediaDescription>>): void;<br>getTrackDescription() : Promise<Array<MediaDescription>>; | Added|
| ohos.multimedia.media | AudioPlayer | reset(): void; | Added|
| ohos.multimedia.media | BufferingInfoType | CACHED_DURATION = 4 | Added|
| ohos.multimedia.media | BufferingInfoType | BUFFERING_PERCENT = 3 | Added|
| ohos.multimedia.media | BufferingInfoType | BUFFERING_END = 2 | Added|
| ohos.multimedia.media | BufferingInfoType | BUFFERING_START = 1 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_UNSUPPORTED = 9 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_INVALID_STATE = 8 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_SERVICE_DIED = 7 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_UNKNOWN = 6 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_TIMEOUT = 5 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_IO = 4 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_INVALID_VAL = 3 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_OPERATION_NOT_PERMIT = 2 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_NO_MEMORY = 1 | Added|
| ohos.multimedia.media | MediaErrorCode | MSERR_OK = 0 | Added|
| ohos.multimedia.media | media | function createVideoPlayer(callback: AsyncCallback<VideoPlayer>): void;<br>function createVideoPlayer() : Promise<VideoPlayer>; | Added|
| ohos.multimedia.media | media | function createAudioRecorder(): AudioRecorder; | Added|
| ohos.multimedia.image | ImagePacker | readonly supportedFormats: Array<string>; | Added|
| ohos.multimedia.image | ImagePacker | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.image | ImagePacker | packing(source: ImageSource, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;<br>packing(source: ImageSource, option: PackingOption): Promise<ArrayBuffer>;<br>packing(source: PixelMap, option: PackingOption, callback: AsyncCallback<ArrayBuffer>): void;<br>packing(source: PixelMap, option: PackingOption): Promise<ArrayBuffer>; | Added|
| ohos.multimedia.image | ImageSource | readonly supportedFormats: Array<string>; | Added|
| ohos.multimedia.image | ImageSource | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.image | ImageSource | getImageProperty(key:string, options?: GetImagePropertyOptions): Promise<string>;<br>getImageProperty(key:string, callback: AsyncCallback<string>): void;<br>getImageProperty(key:string, options: GetImagePropertyOptions, callback: AsyncCallback<string>): void; | Added|
| ohos.multimedia.image | ImageSource | createPixelMap(options?: DecodingOptions): Promise<PixelMap>;<br>createPixelMap(callback: AsyncCallback<PixelMap>): void;<br>createPixelMap(options: DecodingOptions, callback: AsyncCallback<PixelMap>): void; | Added|
| ohos.multimedia.image | ImageSource | getImageInfo(index: number, callback: AsyncCallback<ImageInfo>): void;<br>getImageInfo(callback: AsyncCallback<ImageInfo>): void;<br>getImageInfo(index?: number): Promise<ImageInfo>; | Added|
| ohos.multimedia.image | PixelMap | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.image | PixelMap | getPixelBytesNumber(): number; | Added|
| ohos.multimedia.image | PixelMap | getBytesNumberPerRow(): number; | Added|
| ohos.multimedia.image | PixelMap | getImageInfo(): Promise<ImageInfo>;<br>getImageInfo(callback: AsyncCallback<ImageInfo>): void; | Added|
| ohos.multimedia.image | PixelMap | writeBufferToPixels(src: ArrayBuffer): Promise<void>;<br>writeBufferToPixels(src: ArrayBuffer, callback: AsyncCallback<void>): void; | Added|
| ohos.multimedia.image | PixelMap | writePixels(area: PositionArea): Promise<void>;<br>writePixels(area: PositionArea, callback: AsyncCallback<void>): void; | Added|
| ohos.multimedia.image | PixelMap | readPixels(area: PositionArea): Promise<void>;<br>readPixels(area: PositionArea, callback: AsyncCallback<void>): void; | Added|
| ohos.multimedia.image | PixelMap | readPixelsToBuffer(dst: ArrayBuffer): Promise<void>;<br>readPixelsToBuffer(dst: ArrayBuffer, callback: AsyncCallback<void>): void; | Added|
| ohos.multimedia.image | PixelMap | readonly isEditable: boolean; | Added|
| ohos.multimedia.image | image | function createImagePacker(): ImagePacker; | Added|
| ohos.multimedia.image | image | function createImageSource(uri: string): ImageSource;<br>function createImageSource(fd: number): ImageSource; | Added|
| ohos.multimedia.image | image | function createPixelMap(colors: ArrayBuffer, options: InitializationOptions, callback: AsyncCallback<PixelMap>): void;<br>function createPixelMap(colors: ArrayBuffer, options: InitializationOptions): Promise<PixelMap>; | Added|
| ohos.multimedia.image | InitializationOptions | editable?: boolean; | Added|
| ohos.multimedia.image | InitializationOptions | pixelFormat?: PixelMapFormat; | Added|
| ohos.multimedia.image | InitializationOptions | size: Size; | Added|
| ohos.multimedia.image | DecodingOptions | desiredPixelFormat?: PixelMapFormat; | Added|
| ohos.multimedia.image | DecodingOptions | desiredRegion?: Region; | Added|
| ohos.multimedia.image | DecodingOptions | desiredSize?: Size; | Added|
| ohos.multimedia.image | DecodingOptions | editable?: boolean; | Added|
| ohos.multimedia.image | DecodingOptions | rotate?: number; | Added|
| ohos.multimedia.image | DecodingOptions | sampleSize?: number; | Added|
| ohos.multimedia.image | DecodingOptions | index?: number; | Added|
| ohos.multimedia.image | GetImagePropertyOptions | defaultValue?: string; | Added|
| ohos.multimedia.image | GetImagePropertyOptions | index?: number; | Added|
| ohos.multimedia.image | PackingOption | quality: number; | Added|
| ohos.multimedia.image | PackingOption | format: string; | Added|
| ohos.multimedia.image | ImageInfo | size: Size; | Added|
| ohos.multimedia.image | PositionArea | region: Region; | Added|
| ohos.multimedia.image | PositionArea | stride: number; | Added|
| ohos.multimedia.image | PositionArea | offset: number; | Added|
| ohos.multimedia.image | PositionArea | pixels: ArrayBuffer; | Added|
| ohos.multimedia.image | Region | y: number; | Added|
| ohos.multimedia.image | Region | x: number; | Added|
| ohos.multimedia.image | Region | size: Size; | Added|
| ohos.multimedia.image | PropertyKey | GPS_LONGITUDE_REF = "GPSLongitudeRef" | Added|
| ohos.multimedia.image | PropertyKey | GPS_LATITUDE_REF = "GPSLatitudeRef" | Added|
| ohos.multimedia.image | PropertyKey | GPS_LONGITUDE = "GPSLongitude" | Added|
| ohos.multimedia.image | PropertyKey | GPS_LATITUDE = "GPSLatitude" | Added|
| ohos.multimedia.image | PropertyKey | IMAGE_WIDTH = "ImageWidth" | Added|
| ohos.multimedia.image | PropertyKey | IMAGE_LENGTH = "ImageLength" | Added|
| ohos.multimedia.image | PropertyKey | ORIENTATION = "Orientation" | Added|
| ohos.multimedia.image | PropertyKey | BITS_PER_SAMPLE = "BitsPerSample" | Added|
| ohos.multimedia.image | Size | width: number; | Added|
| ohos.multimedia.image | Size | height: number; | Added|
| ohos.multimedia.image | PixelMapFormat | RGBA_8888 = 3 | Added|
| ohos.multimedia.image | PixelMapFormat | RGB_565 = 2 | Added|
| ohos.multimedia.image | PixelMapFormat | UNKNOWN = 0 | Added|
| ohos.multimedia.audio | AudioCapturer | on(type: "stateChange", callback: Callback<AudioState>): void; | Added|
| ohos.multimedia.audio | AudioCapturer | off(type: "periodReach"): void; | Added|
| ohos.multimedia.audio | AudioCapturer | on(type: "periodReach", frame: number, callback: (position: number) => {}): void; | Added|
| ohos.multimedia.audio | AudioCapturer | off(type: "markReach"): void; | Added|
| ohos.multimedia.audio | AudioCapturer | on(type: "markReach", frame: number, callback: (position: number) => {}): void; | Added|
| ohos.multimedia.audio | AudioCapturer | getBufferSize(callback: AsyncCallback<number>): void;<br>getBufferSize(): Promise<number>; | Added|
| ohos.multimedia.audio | AudioCapturer | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioCapturer | stop(callback: AsyncCallback<void>): void;<br>stop(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioCapturer | getAudioTime(callback: AsyncCallback<number>): void;<br>getAudioTime(): Promise<number>; | Added|
| ohos.multimedia.audio | AudioCapturer | read(size: number, isBlockingRead: boolean, callback: AsyncCallback<ArrayBuffer>): void;<br>read(size: number, isBlockingRead: boolean): Promise<ArrayBuffer>; | Added|
| ohos.multimedia.audio | AudioCapturer | start(callback: AsyncCallback<void>): void;<br>start(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioCapturer | getStreamInfo(callback: AsyncCallback<AudioStreamInfo>): void;<br>getStreamInfo(): Promise<AudioStreamInfo>; | Added|
| ohos.multimedia.audio | AudioCapturer | getCapturerInfo(callback: AsyncCallback<AudioCapturerInfo>): void;<br>getCapturerInfo(): Promise<AudioCapturerInfo>; | Added|
| ohos.multimedia.audio | AudioCapturer | readonly state: AudioState; | Added|
| ohos.multimedia.audio | AudioCapturerOptions | capturerInfo: AudioCapturerInfo; | Added|
| ohos.multimedia.audio | AudioCapturerOptions | streamInfo: AudioStreamInfo; | Added|
| ohos.multimedia.audio | AudioCapturerInfo | capturerFlags: number; | Added|
| ohos.multimedia.audio | AudioCapturerInfo | source: SourceType; | Added|
| ohos.multimedia.audio | SourceType | SOURCE_TYPE_VOICE_COMMUNICATION = 7 | Added|
| ohos.multimedia.audio | SourceType | SOURCE_TYPE_MIC = 0 | Added|
| ohos.multimedia.audio | SourceType | SOURCE_TYPE_INVALID = -1 | Added|
| ohos.multimedia.audio | AudioRenderer | on(type: "stateChange", callback: Callback<AudioState>): void; | Added|
| ohos.multimedia.audio | AudioRenderer | off(type: "periodReach"): void; | Added|
| ohos.multimedia.audio | AudioRenderer | on(type: "periodReach", frame: number, callback: (position: number) => {}): void; | Added|
| ohos.multimedia.audio | AudioRenderer | off(type: "markReach"): void; | Added|
| ohos.multimedia.audio | AudioRenderer | on(type: "markReach", frame: number, callback: (position: number) => {}): void; | Added|
| ohos.multimedia.audio | AudioRenderer | getRenderRate(callback: AsyncCallback<AudioRendererRate>): void;<br>getRenderRate(): Promise<AudioRendererRate>; | Added|
| ohos.multimedia.audio | AudioRenderer | setRenderRate(rate: AudioRendererRate, callback: AsyncCallback<void>): void;<br>setRenderRate(rate: AudioRendererRate): Promise<void>; | Added|
| ohos.multimedia.audio | AudioRenderer | getBufferSize(callback: AsyncCallback<number>): void;<br>getBufferSize(): Promise<number>; | Added|
| ohos.multimedia.audio | AudioRenderer | release(callback: AsyncCallback<void>): void;<br>release(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioRenderer | stop(callback: AsyncCallback<void>): void;<br>stop(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioRenderer | pause(callback: AsyncCallback<void>): void;<br>pause(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioRenderer | drain(callback: AsyncCallback<void>): void;<br>drain(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioRenderer | getAudioTime(callback: AsyncCallback<number>): void;<br>getAudioTime(): Promise<number>; | Added|
| ohos.multimedia.audio | AudioRenderer | write(buffer: ArrayBuffer, callback: AsyncCallback<number>): void;<br>write(buffer: ArrayBuffer): Promise<number>; | Added|
| ohos.multimedia.audio | AudioRenderer | start(callback: AsyncCallback<void>): void;<br>start(): Promise<void>; | Added|
| ohos.multimedia.audio | AudioRenderer | getStreamInfo(callback: AsyncCallback<AudioStreamInfo>): void;<br>getStreamInfo(): Promise<AudioStreamInfo>; | Added|
| ohos.multimedia.audio | AudioRenderer | getRendererInfo(callback: AsyncCallback<AudioRendererInfo>): void;<br>getRendererInfo(): Promise<AudioRendererInfo>; | Added|
| ohos.multimedia.audio | AudioRenderer | readonly state: AudioState; | Added|
| ohos.multimedia.audio | DeviceChangeAction | deviceDescriptors: AudioDeviceDescriptors; | Added|
| ohos.multimedia.audio | DeviceChangeAction | type: DeviceChangeType; | Added|
| ohos.multimedia.audio | AudioInterrupt | pauseWhenDucked: boolean; | Added|
| ohos.multimedia.audio | AudioInterrupt | contentType: ContentType; | Added|
| ohos.multimedia.audio | AudioInterrupt | streamUsage: StreamUsage; | Added|
| ohos.multimedia.audio | InterruptAction | activated?: boolean; | Added|
| ohos.multimedia.audio | InterruptAction | hint?: InterruptHint; | Added|
| ohos.multimedia.audio | InterruptAction | type?: InterruptType; | Added|
| ohos.multimedia.audio | InterruptAction | actionType: InterruptActionType; | Added|
| ohos.multimedia.audio | AudioManager | off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback<InterruptAction>): void; | Added|
| ohos.multimedia.audio | AudioManager | on(type: 'interrupt', interrupt: AudioInterrupt, callback: Callback<InterruptAction>): void; | Added|
| ohos.multimedia.audio | AudioManager | off(type: 'deviceChange', callback?: Callback<DeviceChangeAction>): void; | Added|
| ohos.multimedia.audio | AudioManager | on(type: 'deviceChange', callback: Callback<DeviceChangeAction>): void; | Added|
| ohos.multimedia.audio | AudioManager | getAudioScene(callback: AsyncCallback<AudioScene>): void;<br>getAudioScene(): Promise<AudioScene>; | Added|
| ohos.multimedia.audio | AudioManager | isDeviceActive(deviceType: ActiveDeviceType, callback: AsyncCallback<boolean>): void;<br>isDeviceActive(deviceType: ActiveDeviceType): Promise<boolean>; | Added|
| ohos.multimedia.audio | AudioManager | setDeviceActive(deviceType: ActiveDeviceType, active: boolean, callback: AsyncCallback<void>): void;<br>setDeviceActive(deviceType: ActiveDeviceType, active: boolean): Promise<void>; | Added|
| ohos.multimedia.audio | AudioManager | getAudioParameter(key: string, callback: AsyncCallback<string>): void;<br>getAudioParameter(key: string): Promise<string>; | Added|
| ohos.multimedia.audio | AudioManager | setAudioParameter(key: string, value: string, callback: AsyncCallback<void>): void;<br>setAudioParameter(key: string, value: string): Promise<void>; | Added|
| ohos.multimedia.audio | AudioManager | getRingerMode(callback: AsyncCallback<AudioRingMode>): void;<br>getRingerMode(): Promise<AudioRingMode>; | Added|
| ohos.multimedia.audio | AudioManager | setRingerMode(mode: AudioRingMode, callback: AsyncCallback<void>): void;<br>setRingerMode(mode: AudioRingMode): Promise<void>; | Added|
| ohos.multimedia.audio | AudioManager | isMicrophoneMute(callback: AsyncCallback<boolean>): void;<br>isMicrophoneMute(): Promise<boolean>; | Added|
| ohos.multimedia.audio | AudioManager | setMicrophoneMute(mute: boolean, callback: AsyncCallback<void>): void;<br>setMicrophoneMute(mute: boolean): Promise<void>; | Added|
| ohos.multimedia.audio | AudioManager | isActive(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void;<br>isActive(volumeType: AudioVolumeType): Promise<boolean>; | Added|
| ohos.multimedia.audio | AudioManager | isMute(volumeType: AudioVolumeType, callback: AsyncCallback<boolean>): void;<br>isMute(volumeType: AudioVolumeType): Promise<boolean>; | Added|
| ohos.multimedia.audio | AudioManager | mute(volumeType: AudioVolumeType, mute: boolean, callback: AsyncCallback<void>): void;<br>mute(volumeType: AudioVolumeType, mute: boolean): Promise<void>; | Added|
| ohos.multimedia.audio | AudioScene | AUDIO_SCENE_VOICE_CHAT | Added|
| ohos.multimedia.audio | AudioScene | AUDIO_SCENE_DEFAULT = 0 | Added|
| ohos.multimedia.audio | DeviceChangeType | DISCONNECT = 1 | Added|
| ohos.multimedia.audio | DeviceChangeType | CONNECT = 0 | Added|
| ohos.multimedia.audio | InterruptActionType | TYPE_INTERRUPT = 1 | Added|
| ohos.multimedia.audio | InterruptActionType | TYPE_ACTIVATED = 0 | Added|
| ohos.multimedia.audio | InterruptHint | INTERRUPT_HINT_UNDUCK = 5 | Added|
| ohos.multimedia.audio | InterruptHint | INTERRUPT_HINT_DUCK = 4 | Added|
| ohos.multimedia.audio | InterruptHint | INTERRUPT_HINT_STOP = 3 | Added|
| ohos.multimedia.audio | InterruptHint | INTERRUPT_HINT_PAUSE = 2 | Added|
| ohos.multimedia.audio | InterruptHint | INTERRUPT_HINT_RESUME = 1 | Added|
| ohos.multimedia.audio | InterruptHint | INTERRUPT_HINT_NONE = 0 | Added|
| ohos.multimedia.audio | InterruptType | INTERRUPT_TYPE_END = 2 | Added|
| ohos.multimedia.audio | InterruptType | INTERRUPT_TYPE_BEGIN = 1 | Added|
| ohos.multimedia.audio | AudioRendererRate | RENDER_RATE_HALF = 2 | Added|
| ohos.multimedia.audio | AudioRendererRate | RENDER_RATE_DOUBLE = 1 | Added|
| ohos.multimedia.audio | AudioRendererRate | RENDER_RATE_NORMAL = 0 | Added|
| ohos.multimedia.audio | AudioRendererOptions | rendererInfo: AudioRendererInfo; | Added|
| ohos.multimedia.audio | AudioRendererOptions | streamInfo: AudioStreamInfo; | Added|
| ohos.multimedia.audio | AudioRendererInfo | rendererFlags: number; | Added|
| ohos.multimedia.audio | AudioRendererInfo | usage: StreamUsage; | Added|
| ohos.multimedia.audio | AudioRendererInfo | content: ContentType; | Added|
| ohos.multimedia.audio | AudioStreamInfo | encodingType: AudioEncodingType; | Added|
| ohos.multimedia.audio | AudioStreamInfo | sampleFormat: AudioSampleFormat; | Added|
| ohos.multimedia.audio | AudioStreamInfo | channels: AudioChannel; | Added|
| ohos.multimedia.audio | AudioStreamInfo | samplingRate: AudioSamplingRate; | Added|
| ohos.multimedia.audio | StreamUsage | STREAM_USAGE_NOTIFICATION_RINGTONE = 6 | Added|
| ohos.multimedia.audio | StreamUsage | STREAM_USAGE_VOICE_COMMUNICATION = 2 | Added|
| ohos.multimedia.audio | StreamUsage | STREAM_USAGE_MEDIA = 1 | Added|
| ohos.multimedia.audio | StreamUsage | STREAM_USAGE_UNKNOWN = 0 | Added|
| ohos.multimedia.audio | ContentType | CONTENT_TYPE_RINGTONE = 5 | Added|
| ohos.multimedia.audio | ContentType | CONTENT_TYPE_SONIFICATION = 4 | Added|
| ohos.multimedia.audio | ContentType | CONTENT_TYPE_MOVIE = 3 | Added|
| ohos.multimedia.audio | ContentType | CONTENT_TYPE_MUSIC = 2 | Added|
| ohos.multimedia.audio | ContentType | CONTENT_TYPE_SPEECH = 1 | Added|
| ohos.multimedia.audio | ContentType | CONTENT_TYPE_UNKNOWN = 0 | Added|
| ohos.multimedia.audio | AudioEncodingType | ENCODING_TYPE_RAW = 0 | Added|
| ohos.multimedia.audio | AudioEncodingType | ENCODING_TYPE_INVALID = -1 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_96000 = 96000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_64000 = 64000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_48000 = 48000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_44100 = 44100 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_32000 = 32000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_24000 = 24000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_22050 = 22050 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_16000 = 16000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_12000 = 12000 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_11025 = 11025 | Added|
| ohos.multimedia.audio | AudioSamplingRate | SAMPLE_RATE_8000 = 8000 | Added|
| ohos.multimedia.audio | AudioChannel | CHANNEL_2 = 0x1 << 1 | Added|
| ohos.multimedia.audio | AudioChannel | CHANNEL_1 = 0x1 << 0 | Added|
| ohos.multimedia.audio | AudioSampleFormat | SAMPLE_FORMAT_S32LE = 3 | Added|
| ohos.multimedia.audio | AudioSampleFormat | SAMPLE_FORMAT_S24LE = 2 | Added|
| ohos.multimedia.audio | AudioSampleFormat | SAMPLE_FORMAT_S16LE = 1 | Added|
| ohos.multimedia.audio | AudioSampleFormat | SAMPLE_FORMAT_U8 = 0 | Added|
| ohos.multimedia.audio | AudioSampleFormat | SAMPLE_FORMAT_INVALID = -1 | Added|
| ohos.multimedia.audio | AudioRingMode | RINGER_MODE_NORMAL = 2 | Added|
| ohos.multimedia.audio | AudioRingMode | RINGER_MODE_VIBRATE = 1 | Added|
| ohos.multimedia.audio | AudioRingMode | RINGER_MODE_SILENT = 0 | Added|
| ohos.multimedia.audio | ActiveDeviceType | BLUETOOTH_SCO = 7 | Added|
| ohos.multimedia.audio | ActiveDeviceType | SPEAKER = 2 | Added|
| ohos.multimedia.audio | DeviceType | USB_HEADSET = 22 | Added|
| ohos.multimedia.audio | DeviceType | WIRED_HEADPHONES = 4 | Added|
| ohos.multimedia.audio | DeviceType | EARPIECE = 1 | Added|
| ohos.multimedia.audio | AudioVolumeType | VOICE_ASSISTANT = 9 | Added|
| ohos.multimedia.audio | AudioVolumeType | VOICE_CALL = 0 | Added|
| ohos.multimedia.audio | AudioState | STATE_PAUSED | Added|
| ohos.multimedia.audio | AudioState | STATE_RELEASED | Added|
| ohos.multimedia.audio | AudioState | STATE_STOPPED | Added|
| ohos.multimedia.audio | AudioState | STATE_RUNNING | Added|
| ohos.multimedia.audio | AudioState | STATE_PREPARED | Added|
| ohos.multimedia.audio | AudioState | STATE_NEW | Added|
| ohos.multimedia.audio | AudioState | STATE_INVALID = -1 | Added|
| ohos.multimedia.audio | audio | function createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback<AudioRenderer>): void;<br>function createAudioRenderer(options: AudioRendererOptions): Promise<AudioRenderer>; | Added|
| ohos.multimedia.audio | audio | function createAudioCapturer(options: AudioCapturerOptions, callback: AsyncCallback<AudioCapturer>): void;<br>function createAudioCapturer(options: AudioCapturerOptions): Promise<AudioCapturer>; | Added|
# JS API Changes of the Network Management Subsystem
The table below lists the APIs changes of the network management subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.net.webSocket | WebSocket | off(type: 'error', callback?: ErrorCallback): void; | Added|
| ohos.net.webSocket | WebSocket | on(type: 'error', callback: ErrorCallback): void; | Added|
| ohos.net.webSocket | WebSocket | off(type: 'close', callback?: AsyncCallback<{ code: number, reason: string }>): void; | Added|
| ohos.net.webSocket | WebSocket | on(type: 'close', callback: AsyncCallback<{ code: number, reason: string }>): void; | Added|
| ohos.net.webSocket | WebSocket | off(type: 'message', callback?: AsyncCallback<string \| ArrayBuffer>): void; | Added|
| ohos.net.webSocket | WebSocket | on(type: 'message', callback: AsyncCallback<string \| ArrayBuffer>): void; | Added|
| ohos.net.webSocket | WebSocket | off(type: 'open', callback?: AsyncCallback<Object>): void; | Added|
| ohos.net.webSocket | WebSocket | on(type: 'open', callback: AsyncCallback<Object>): void; | Added|
| ohos.net.webSocket | WebSocket | close(callback: AsyncCallback<boolean>): void;<br>close(options: WebSocketCloseOptions, callback: AsyncCallback<boolean>): void;<br>close(options?: WebSocketCloseOptions): Promise<boolean>; | Added|
| ohos.net.webSocket | WebSocket | send(data: string \| ArrayBuffer, callback: AsyncCallback<boolean>): void;<br>send(data: string \| ArrayBuffer): Promise<boolean>; | Added|
| ohos.net.webSocket | WebSocket | connect(url: string, callback: AsyncCallback<boolean>): void;<br>connect(url: string, options: WebSocketRequestOptions, callback: AsyncCallback<boolean>): void;<br>connect(url: string, options?: WebSocketRequestOptions): Promise<boolean>; | Added|
| ohos.net.webSocket | WebSocketCloseOptions | reason?: string; | Added|
| ohos.net.webSocket | WebSocketCloseOptions | code?: number; | Added|
| ohos.net.webSocket | WebSocketRequestOptions | header?: Object; | Added|
| ohos.net.webSocket | webSocket | function createWebSocket(): WebSocket; | Added|
| ohos.net.socket | TCPSocket | off(type: 'error', callback?: ErrorCallback): void; | Added|
| ohos.net.socket | TCPSocket | on(type: 'error', callback: ErrorCallback): void; | Added|
| ohos.net.socket | TCPSocket | off(type: 'connect' \| 'close', callback?: Callback<void>): void; | Added|
| ohos.net.socket | TCPSocket | off(type: 'connect' \| 'close', callback?: Callback<void>): void; | Added|
| ohos.net.socket | TCPSocket | on(type: 'connect' \| 'close', callback: Callback<void>): void; | Added|
| ohos.net.socket | TCPSocket | on(type: 'connect' \| 'close', callback: Callback<void>): void; | Added|
| ohos.net.socket | TCPSocket | off(type: 'message', callback?: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}>): void; | Added|
| ohos.net.socket | TCPSocket | on(type: 'message', callback: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}>): void; | Added|
| ohos.net.socket | TCPSocket | setExtraOptions(options: TCPExtraOptions, callback: AsyncCallback<void>): void;<br>setExtraOptions(options: TCPExtraOptions): Promise<void>; | Added|
| ohos.net.socket | TCPSocket | getState(callback: AsyncCallback<SocketStateBase>): void;<br>getState(): Promise<SocketStateBase>; | Added|
| ohos.net.socket | TCPSocket | getRemoteAddress(callback: AsyncCallback<NetAddress>): void;<br>getRemoteAddress(): Promise<NetAddress>; | Added|
| ohos.net.socket | TCPSocket | close(callback: AsyncCallback<void>): void;<br>close(): Promise<void>; | Added|
| ohos.net.socket | TCPSocket | send(options: TCPSendOptions, callback: AsyncCallback<void>): void;<br>send(options: TCPSendOptions): Promise<void>; | Added|
| ohos.net.socket | TCPSocket | connect(options: TCPConnectOptions, callback: AsyncCallback<void>): void;<br>connect(options: TCPConnectOptions): Promise<void>; | Added|
| ohos.net.socket | TCPSocket | bind(address: NetAddress, callback: AsyncCallback<void>): void;<br>bind(address: NetAddress): Promise<void>; | Added|
| ohos.net.socket | TCPExtraOptions | socketLinger: {on: boolean, linger: number}; | Added|
| ohos.net.socket | TCPExtraOptions | TCPNoDelay?: boolean; | Added|
| ohos.net.socket | TCPExtraOptions | OOBInline?: boolean; | Added|
| ohos.net.socket | TCPExtraOptions | keepAlive?: boolean; | Added|
| ohos.net.socket | TCPSendOptions | encoding?: string; | Added|
| ohos.net.socket | TCPSendOptions | data: string \| ArrayBuffer; | Added|
| ohos.net.socket | TCPConnectOptions | timeout?: number; | Added|
| ohos.net.socket | TCPConnectOptions | address: NetAddress; | Added|
| ohos.net.socket | UDPSocket | off(type: 'error', callback?: ErrorCallback): void; | Added|
| ohos.net.socket | UDPSocket | on(type: 'error', callback: ErrorCallback): void; | Added|
| ohos.net.socket | UDPSocket | off(type: 'listening' \| 'close', callback?: Callback<void>): void; | Added|
| ohos.net.socket | UDPSocket | off(type: 'listening' \| 'close', callback?: Callback<void>): void; | Added|
| ohos.net.socket | UDPSocket | on(type: 'listening' \| 'close', callback: Callback<void>): void; | Added|
| ohos.net.socket | UDPSocket | on(type: 'listening' \| 'close', callback: Callback<void>): void; | Added|
| ohos.net.socket | UDPSocket | off(type: 'message', callback?: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}>): void; | Added|
| ohos.net.socket | UDPSocket | on(type: 'message', callback: Callback<{message: ArrayBuffer, remoteInfo: SocketRemoteInfo}>): void; | Added|
| ohos.net.socket | UDPSocket | setExtraOptions(options: UDPExtraOptions, callback: AsyncCallback<void>): void;<br>setExtraOptions(options: UDPExtraOptions): Promise<void>; | Added|
| ohos.net.socket | UDPSocket | getState(callback: AsyncCallback<SocketStateBase>): void;<br>getState(): Promise<SocketStateBase>; | Added|
| ohos.net.socket | UDPSocket | close(callback: AsyncCallback<void>): void;<br>close(): Promise<void>; | Added|
| ohos.net.socket | UDPSocket | send(options: UDPSendOptions, callback: AsyncCallback<void>): void;<br>send(options: UDPSendOptions): Promise<void>; | Added|
| ohos.net.socket | UDPSocket | bind(address: NetAddress, callback: AsyncCallback<void>): void;<br>bind(address: NetAddress): Promise<void>; | Added|
| ohos.net.socket | SocketRemoteInfo | size: number; | Added|
| ohos.net.socket | SocketRemoteInfo | port: number; | Added|
| ohos.net.socket | SocketRemoteInfo | family: 'IPv4' \| 'IPv6'; | Added|
| ohos.net.socket | SocketRemoteInfo | address: string; | Added|
| ohos.net.socket | SocketStateBase | isConnected: boolean; | Added|
| ohos.net.socket | SocketStateBase | isClose: boolean; | Added|
| ohos.net.socket | SocketStateBase | isBound: boolean; | Added|
| ohos.net.socket | UDPExtraOptions | broadcast?: boolean; | Added|
| ohos.net.socket | ExtraOptionsBase | socketTimeout?: number; | Added|
| ohos.net.socket | ExtraOptionsBase | reuseAddress?: boolean; | Added|
| ohos.net.socket | ExtraOptionsBase | sendBufferSize?: number; | Added|
| ohos.net.socket | ExtraOptionsBase | receiveBufferSize?: number; | Added|
| ohos.net.socket | UDPSendOptions | address: NetAddress; | Added|
| ohos.net.socket | UDPSendOptions | data: string \| ArrayBuffer; | Added|
| ohos.net.socket | socket | function constructTCPSocketInstance(): TCPSocket; | Added|
| ohos.net.socket | socket | function constructUDPSocketInstance(): UDPSocket; | Added|
| ohos.net.socket | socket | import NetAddress = connection.NetAddress; | Added|
| ohos.net.http | HttpResponse | cookies: string; | Added|
| ohos.net.http | HttpResponse | header: Object; | Added|
| ohos.net.http | HttpResponse | responseCode: ResponseCode \| number; | Added|
| ohos.net.http | HttpResponse | result: string \| Object \| ArrayBuffer; | Added|
| ohos.net.http | ResponseCode | VERSION | Added|
| ohos.net.http | ResponseCode | GATEWAY_TIMEOUT | Added|
| ohos.net.http | ResponseCode | UNAVAILABLE | Added|
| ohos.net.http | ResponseCode | BAD_GATEWAY | Added|
| ohos.net.http | ResponseCode | NOT_IMPLEMENTED | Added|
| ohos.net.http | ResponseCode | INTERNAL_ERROR = 500 | Added|
| ohos.net.http | ResponseCode | UNSUPPORTED_TYPE | Added|
| ohos.net.http | ResponseCode | REQ_TOO_LONG | Added|
| ohos.net.http | ResponseCode | ENTITY_TOO_LARGE | Added|
| ohos.net.http | ResponseCode | PRECON_FAILED | Added|
| ohos.net.http | ResponseCode | LENGTH_REQUIRED | Added|
| ohos.net.http | ResponseCode | GONE | Added|
| ohos.net.http | ResponseCode | CONFLICT | Added|
| ohos.net.http | ResponseCode | CLIENT_TIMEOUT | Added|
| ohos.net.http | ResponseCode | PROXY_AUTH | Added|
| ohos.net.http | ResponseCode | NOT_ACCEPTABLE | Added|
| ohos.net.http | ResponseCode | BAD_METHOD | Added|
| ohos.net.http | ResponseCode | NOT_FOUND | Added|
| ohos.net.http | ResponseCode | FORBIDDEN | Added|
| ohos.net.http | ResponseCode | PAYMENT_REQUIRED | Added|
| ohos.net.http | ResponseCode | UNAUTHORIZED | Added|
| ohos.net.http | ResponseCode | BAD_REQUEST = 400 | Added|
| ohos.net.http | ResponseCode | USE_PROXY | Added|
| ohos.net.http | ResponseCode | NOT_MODIFIED | Added|
| ohos.net.http | ResponseCode | SEE_OTHER | Added|
| ohos.net.http | ResponseCode | MOVED_TEMP | Added|
| ohos.net.http | ResponseCode | MOVED_PERM | Added|
| ohos.net.http | ResponseCode | MULT_CHOICE = 300 | Added|
| ohos.net.http | ResponseCode | PARTIAL | Added|
| ohos.net.http | ResponseCode | RESET | Added|
| ohos.net.http | ResponseCode | NO_CONTENT | Added|
| ohos.net.http | ResponseCode | NOT_AUTHORITATIVE | Added|
| ohos.net.http | ResponseCode | ACCEPTED | Added|
| ohos.net.http | ResponseCode | CREATED | Added|
| ohos.net.http | ResponseCode | OK = 200 | Added|
| ohos.net.http | RequestMethod | CONNECT = "CONNECT" | Added|
| ohos.net.http | RequestMethod | TRACE = "TRACE" | Added|
| ohos.net.http | RequestMethod | DELETE = "DELETE" | Added|
| ohos.net.http | RequestMethod | PUT = "PUT" | Added|
| ohos.net.http | RequestMethod | POST = "POST" | Added|
| ohos.net.http | RequestMethod | HEAD = "HEAD" | Added|
| ohos.net.http | RequestMethod | GET = "GET" | Added|
| ohos.net.http | RequestMethod | OPTIONS = "OPTIONS" | Added|
| ohos.net.http | HttpRequest | once(type: "headersReceive", callback: Callback<Object>): void; | Added|
| ohos.net.http | HttpRequest | off(type: "headersReceive", callback?: Callback<Object>): void; | Added|
| ohos.net.http | HttpRequest | on(type: "headersReceive", callback: Callback<Object>): void; | Added|
| ohos.net.http | HttpRequest | off(type: "headerReceive", callback?: AsyncCallback<Object>): void; | Added|
| ohos.net.http | HttpRequest | on(type: "headerReceive", callback: AsyncCallback<Object>): void; | Added|
| ohos.net.http | HttpRequest | destroy(): void; | Added|
| ohos.net.http | HttpRequest | request(url: string, callback: AsyncCallback<HttpResponse>): void;<br>request(url: string, options: HttpRequestOptions, callback: AsyncCallback<HttpResponse>): void;<br>request(url: string, options?: HttpRequestOptions): Promise<HttpResponse>; | Added|
| ohos.net.http | HttpRequestOptions | connectTimeout?: number; | Added|
| ohos.net.http | HttpRequestOptions | readTimeout?: number; | Added|
| ohos.net.http | HttpRequestOptions | header?: Object; | Added|
| ohos.net.http | HttpRequestOptions | extraData?: string \| Object \| ArrayBuffer; | Added|
| ohos.net.http | HttpRequestOptions | method?: RequestMethod; | Added|
| ohos.net.http | http | function createHttp(): HttpRequest; | Added|
| ohos.net.connection | NetAddress | port?: number; | Added|
| ohos.net.connection | NetAddress | family?: number; | Added|
| ohos.net.connection | NetAddress | address: string; | Added|
| ohos.net.connection | LinkAddress | prefixLength: number; | Added|
| ohos.net.connection | LinkAddress | address: NetAddress; | Added|
| ohos.net.connection | RouteInfo | isDefaultRoute: boolean; | Added|
| ohos.net.connection | RouteInfo | hasGateway: boolean; | Added|
| ohos.net.connection | RouteInfo | gateway: NetAddress; | Added|
| ohos.net.connection | RouteInfo | destination: LinkAddress; | Added|
| ohos.net.connection | RouteInfo | interface: string; | Added|
| ohos.net.connection | ConnectionProperties | mtu: number; | Added|
| ohos.net.connection | ConnectionProperties | routes: Array<RouteInfo>; | Added|
| ohos.net.connection | ConnectionProperties | dnses: Array<NetAddress>; | Added|
| ohos.net.connection | ConnectionProperties | linkAddresses: Array<LinkAddress>; | Added|
| ohos.net.connection | ConnectionProperties | domains: string; | Added|
| ohos.net.connection | ConnectionProperties | interfaceName: string; | Added|
| ohos.net.connection | NetBearType | BEARER_ETHERNET = 3 | Added|
| ohos.net.connection | NetBearType | BEARER_WIFI = 1 | Added|
| ohos.net.connection | NetBearType | BEARER_CELLULAR = 0 | Added|
| ohos.net.connection | NetCap | NET_CAPABILITY_VALIDATED = 16 | Added|
| ohos.net.connection | NetCap | NET_CAPABILITY_NOT_VPN = 15 | Added|
| ohos.net.connection | NetCap | NET_CAPABILITY_INTERNET = 12 | Added|
| ohos.net.connection | NetCap | NET_CAPABILITY_NOT_METERED = 11 | Added|
| ohos.net.connection | NetCap | NET_CAPABILITY_MMS = 0 | Added|
| ohos.net.connection | NetCapabilities | bearerTypes: Array<NetBearType>; | Added|
| ohos.net.connection | NetCapabilities | networkCap?: Array<NetCap>; | Added|
| ohos.net.connection | NetCapabilities | linkDownBandwidthKbps?: number; | Added|
| ohos.net.connection | NetCapabilities | linkUpBandwidthKbps?: number; | Added|
| ohos.net.connection | NetHandle | getAddressByName(host: string, callback: AsyncCallback<NetAddress>): void;<br>getAddressByName(host: string): Promise<NetAddress>; | Added|
| ohos.net.connection | NetHandle | getAddressesByName(host: string, callback: AsyncCallback<Array<NetAddress>>): void;<br>getAddressesByName(host: string): Promise<Array<NetAddress>>; | Added|
| ohos.net.connection | NetHandle | netId: number; | Added|
| ohos.net.connection | NetSpecifier | bearerPrivateIdentifier?: string; | Added|
| ohos.net.connection | NetSpecifier | netCapabilities: NetCapabilities; | Added|
| ohos.net.connection | NetConnection | unregister(callback: AsyncCallback<void>): void; | Added|
| ohos.net.connection | NetConnection | register(callback: AsyncCallback<void>): void; | Added|
| ohos.net.connection | NetConnection | on(type: 'netUnavailable', callback: Callback<void>): void; | Added|
| ohos.net.connection | NetConnection | on(type: 'netLost', callback: Callback<NetHandle>): void; | Added|
| ohos.net.connection | NetConnection | on(type: 'netConnectionPropertiesChange', callback: Callback<{ netHandle: NetHandle, connectionProperties: ConnectionProperties }>): void; | Added|
| ohos.net.connection | NetConnection | on(type: 'netCapabilitiesChange', callback: Callback<{ netHandle: NetHandle, netCap: NetCapabilities }>): void; | Added|
| ohos.net.connection | NetConnection | on(type: 'netBlockStatusChange', callback: Callback<{ netHandle: NetHandle, blocked: boolean }>): void; | Added|
| ohos.net.connection | NetConnection | on(type: 'netAvailable', callback: Callback<NetHandle>): void; | Added|
| ohos.net.connection | connection | function getAddressesByName(host: string, callback: AsyncCallback<Array<NetAddress>>): void;<br>function getAddressesByName(host: string): Promise<Array<NetAddress>>; | Added|
| ohos.net.connection | connection | function reportNetDisconnected(netHandle: NetHandle, callback: AsyncCallback<void>): void;<br>function reportNetDisconnected(netHandle: NetHandle): Promise<void>; | Added|
| ohos.net.connection | connection | function reportNetConnected(netHandle: NetHandle, callback: AsyncCallback<void>): void;<br>function reportNetConnected(netHandle: NetHandle): Promise<void>; | Added|
| ohos.net.connection | connection | function hasDefaultNet(callback: AsyncCallback<boolean>): void;<br>function hasDefaultNet(): Promise<boolean>; | Added|
| ohos.net.connection | connection | function getNetCapabilities(netHandle: NetHandle, callback: AsyncCallback<NetCapabilities>): void;<br>function getNetCapabilities(netHandle: NetHandle): Promise<NetCapabilities>; | Added|
| ohos.net.connection | connection | function getConnectionProperties(netHandle: NetHandle, callback: AsyncCallback<ConnectionProperties>): void;<br>function getConnectionProperties(netHandle: NetHandle): Promise<ConnectionProperties>; | Added|
| ohos.net.connection | connection | function getAllNets(callback: AsyncCallback<Array<NetHandle>>): void;<br>function getAllNets(): Promise<Array<NetHandle>>; | Added|
| ohos.net.connection | connection | function getDefaultNet(callback: AsyncCallback<NetHandle>): void;<br>function getDefaultNet(): Promise<NetHandle>; | Added|
| ohos.net.connection | connection | function createNetConnection(netSpecifier?: NetSpecifier, timeout?: number): NetConnection; | Added|
# JS API Changes of the Resource Scheduling Subsystem
The table below lists the APIs changes of the resource scheduling subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.reminderAgent | LocalDateTime | second?: number; | Added|
| ohos.reminderAgent | LocalDateTime | minute: number; | Added|
| ohos.reminderAgent | LocalDateTime | hour: number; | Added|
| ohos.reminderAgent | LocalDateTime | day: number; | Added|
| ohos.reminderAgent | LocalDateTime | month: number; | Added|
| ohos.reminderAgent | LocalDateTime | year: number; | Added|
| ohos.reminderAgent | ReminderRequestTimer | triggerTimeInSeconds: number; | Added|
| ohos.reminderAgent | ReminderRequestAlarm | daysOfWeek?: Array<number>; | Added|
| ohos.reminderAgent | ReminderRequestAlarm | minute: number; | Added|
| ohos.reminderAgent | ReminderRequestAlarm | hour: number; | Added|
| ohos.reminderAgent | ReminderRequestCalendar | repeatDays?: Array<number>; | Added|
| ohos.reminderAgent | ReminderRequestCalendar | repeatMonths?: Array<number>; | Added|
| ohos.reminderAgent | ReminderRequestCalendar | dateTime: LocalDateTime; | Added|
| ohos.reminderAgent | ReminderRequest | slotType?: notification.SlotType; | Added|
| ohos.reminderAgent | ReminderRequest | notificationId?: number; | Added|
| ohos.reminderAgent | ReminderRequest | snoozeContent?: string; | Added|
| ohos.reminderAgent | ReminderRequest | expiredContent?: string; | Added|
| ohos.reminderAgent | ReminderRequest | content?: string; | Added|
| ohos.reminderAgent | ReminderRequest | title?: string; | Added|
| ohos.reminderAgent | ReminderRequest | timeInterval?: number; | Added|
| ohos.reminderAgent | ReminderRequest | snoozeTimes?: number; | Added|
| ohos.reminderAgent | ReminderRequest | ringDuration?: number; | Added|
| ohos.reminderAgent | ReminderRequest | maxScreenWantAgent?: MaxScreenWantAgent; | Added|
| ohos.reminderAgent | ReminderRequest | wantAgent?: WantAgent; | Added|
| ohos.reminderAgent | ReminderRequest | actionButton?: [ActionButton?, ActionButton?]; | Added|
| ohos.reminderAgent | ReminderRequest | reminderType: ReminderType; | Added|
| ohos.reminderAgent | MaxScreenWantAgent | abilityName: string; | Added|
| ohos.reminderAgent | MaxScreenWantAgent | pkgName: string; | Added|
| ohos.reminderAgent | WantAgent | abilityName: string; | Added|
| ohos.reminderAgent | WantAgent | pkgName: string; | Added|
| ohos.reminderAgent | ActionButton | type: ActionButtonType; | Added|
| ohos.reminderAgent | ActionButton | title: string; | Added|
| ohos.reminderAgent | ReminderType | REMINDER_TYPE_ALARM = 2 | Added|
| ohos.reminderAgent | ReminderType | REMINDER_TYPE_CALENDAR = 1 | Added|
| ohos.reminderAgent | ReminderType | REMINDER_TYPE_TIMER = 0 | Added|
| ohos.reminderAgent | ActionButtonType | ACTION_BUTTON_TYPE_SNOOZE = 1 | Added|
| ohos.reminderAgent | ActionButtonType | ACTION_BUTTON_TYPE_CLOSE = 0 | Added|
| ohos.reminderAgent | reminderAgent | function removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback<void>): void;<br>function removeNotificationSlot(slotType: notification.SlotType): Promise<void>; | Added|
| ohos.reminderAgent | reminderAgent | function addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback<void>): void;<br>function addNotificationSlot(slot: NotificationSlot): Promise<void>; | Added|
| ohos.reminderAgent | reminderAgent | function cancelAllReminders(callback: AsyncCallback<void>): void;<br>function cancelAllReminders(): Promise<void>; | Added|
| ohos.reminderAgent | reminderAgent | function getValidReminders(callback: AsyncCallback<Array<ReminderRequest>>): void;<br>function getValidReminders(): Promise<Array<ReminderRequest>>; | Added|
| ohos.reminderAgent | reminderAgent | function cancelReminder(reminderId: number, callback: AsyncCallback<void>): void;<br>function cancelReminder(reminderId: number): Promise<void>; | Added|
| ohos.reminderAgent | reminderAgent | function publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback<number>): void;<br>function publishReminder(reminderReq: ReminderRequest): Promise<number>; | Added|
| ohos.bundleState | bundleState | function queryCurrentBundleActiveStates(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveState>>): void;<br>function queryCurrentBundleActiveStates(begin: number, end: number): Promise<Array<BundleActiveState>>; | Added|
| ohos.bundleState | IntervalType | BY_ANNUALLY = 4 | Added|
| ohos.bundleState | IntervalType | BY_MONTHLY = 3 | Added|
| ohos.bundleState | IntervalType | BY_WEEKLY = 2 | Added|
| ohos.bundleState | IntervalType | BY_DAILY = 1 | Added|
| ohos.bundleState | IntervalType | BY_OPTIMIZED = 0 | Added|
| ohos.bundleState | BundleActiveInfoResponse | [key: string]: BundleStateInfo; | Added|
| ohos.bundleState | bundleState | function queryAppUsagePriorityGroup(callback: AsyncCallback<number>): void;<br>function queryAppUsagePriorityGroup(): Promise<number>; | Added|
| ohos.bundleState | bundleState | function isIdleState(bundleName: string, callback: AsyncCallback<boolean>): void;<br>function isIdleState(bundleName: string): Promise<boolean>; | Added|
| ohos.bundleState | BundleActiveState | stateType?: number; | Added|
| ohos.bundleState | BundleActiveState | stateOccurredTime?: number; | Added|
| ohos.bundleState | BundleActiveState | nameOfClass?: string; | Added|
| ohos.bundleState | BundleActiveState | indexOfLink?: string; | Added|
| ohos.bundleState | BundleActiveState | bundleName?: string; | Added|
| ohos.bundleState | BundleActiveState | appUsagePriorityGroup?: number; | Added|
| ohos.bundleState | BundleStateInfo | merge(toMerge: BundleStateInfo): void; | Added|
| ohos.bundleState | BundleStateInfo | infosEndTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | infosBeginTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | fgAbilityPrevAccessTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | fgAbilityAccessTotalTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | bundleName?: string; | Added|
| ohos.bundleState | BundleStateInfo | abilitySeenTotalTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | abilityPrevSeenTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | abilityPrevAccessTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | abilityInFgTotalTime?: number; | Added|
| ohos.bundleState | BundleStateInfo | id: number; | Added|
| ohos.backgroundTaskManager | BackgroundMode | TASK_KEEPING = 9 | Added|
| ohos.backgroundTaskManager | BackgroundMode | MULTI_DEVICE_CONNECTION = 6 | Added|
| ohos.backgroundTaskManager | BackgroundMode | BLUETOOTH_INTERACTION = 5 | Added|
| ohos.backgroundTaskManager | BackgroundMode | LOCATION = 4 | Added|
| ohos.backgroundTaskManager | BackgroundMode | AUDIO_RECORDING = 3 | Added|
| ohos.backgroundTaskManager | BackgroundMode | AUDIO_PLAYBACK = 2 | Added|
| ohos.backgroundTaskManager | BackgroundMode | DATA_TRANSFER = 1 | Added|
| ohos.backgroundTaskManager | backgroundTaskManager | function stopBackgroundRunning(context: Context, callback: AsyncCallback<void>): void;<br>function stopBackgroundRunning(context: Context): Promise<void>; | Added|
| ohos.backgroundTaskManager | backgroundTaskManager | function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent, callback: AsyncCallback<void>): void;<br>function startBackgroundRunning(context: Context, bgMode: BackgroundMode, wantAgent: WantAgent): Promise<void>; | Added|
| ohos.backgroundTaskManager | backgroundTaskManager | function requestSuspendDelay(reason: string, callback: Callback<void>): DelaySuspendInfo; | Added|
| ohos.backgroundTaskManager | backgroundTaskManager | function getRemainingDelayTime(requestId: number, callback: AsyncCallback<number>): void;<br>function getRemainingDelayTime(requestId: number): Promise<number>; | Added|
| ohos.backgroundTaskManager | backgroundTaskManager | function cancelSuspendDelay(requestId: number): void; | Added|
| ohos.backgroundTaskManager | DelaySuspendInfo | actualDelayTime: number; | Added|
| ohos.backgroundTaskManager | DelaySuspendInfo | requestId: number; | Added|
# JS API Changes of the Security Subsystem
The table below lists the APIs changes of the security subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.security.huks | HuksTag | HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES \| 20003 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES \| 20002 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_SYMMETRIC_KEY_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES \| 20001 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_OS_PATCHLEVEL = HuksTagType.HUKS_TAG_TYPE_UINT \| 10102 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_OS_VERSION = HuksTagType.HUKS_TAG_TYPE_UINT \| 10101 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_IS_KEY_HANDLE = HuksTagType.HUKS_TAG_TYPE_ULONG \| 10010 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AE_TAG = HuksTagType.HUKS_TAG_TYPE_BYTES \| 10009 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_PAYLOAD_LEN = HuksTagType.HUKS_TAG_TYPE_UINT \| 10008 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_VERSION = HuksTagType.HUKS_TAG_TYPE_UINT \| 10007 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES \| 10006 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_CRYPTO_CTX = HuksTagType.HUKS_TAG_TYPE_ULONG \| 10005 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_USES_TIME = HuksTagType.HUKS_TAG_TYPE_UINT \| 10004 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ACCESS_TIME = HuksTagType.HUKS_TAG_TYPE_UINT \| 10003 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_PACKAGE_NAME = HuksTagType.HUKS_TAG_TYPE_BYTES \| 10002 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_PROCESS_NAME = HuksTagType.HUKS_TAG_TYPE_BYTES \| 10001 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_DOMAIN = HuksTagType.HUKS_TAG_TYPE_UINT \| 1011 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_SECURE_KEY_UUID = HuksTagType.HUKS_TAG_TYPE_BYTES \| 1010 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_SECURE_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL \| 1009 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_IS_ASYNCHRONIZED = HuksTagType.HUKS_TAG_TYPE_UINT \| 1008 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT \| 1007 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_ROLE = HuksTagType.HUKS_TAG_TYPE_UINT \| 1006 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_AUTH_ID = HuksTagType.HUKS_TAG_TYPE_BYTES \| 1005 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_WRAP_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT \| 1004 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_IS_ALLOWED_WRAP = HuksTagType.HUKS_TAG_TYPE_BOOL \| 1003 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_STORAGE_FLAG = HuksTagType.HUKS_TAG_TYPE_UINT \| 1002 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_IS_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL \| 1001 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_VERSION_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES \| 515 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES \| 514 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_UDID = HuksTagType.HUKS_TAG_TYPE_BYTES \| 513 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_SOCID = HuksTagType.HUKS_TAG_TYPE_BYTES \| 512 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES \| 511 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_MODEL = HuksTagType.HUKS_TAG_TYPE_BYTES \| 510 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_MANUFACTURER = HuksTagType.HUKS_TAG_TYPE_BYTES \| 509 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_MEID = HuksTagType.HUKS_TAG_TYPE_BYTES \| 508 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_IMEI = HuksTagType.HUKS_TAG_TYPE_BYTES \| 507 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_SERIAL = HuksTagType.HUKS_TAG_TYPE_BYTES \| 506 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_PRODUCT = HuksTagType.HUKS_TAG_TYPE_BYTES \| 505 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_DEVICE = HuksTagType.HUKS_TAG_TYPE_BYTES \| 504 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_ID_BRAND = HuksTagType.HUKS_TAG_TYPE_BYTES \| 503 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_APPLICATION_ID = HuksTagType.HUKS_TAG_TYPE_BYTES \| 502 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ATTESTATION_CHALLENGE = HuksTagType.HUKS_TAG_TYPE_BYTES \| 501 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AUTH_TOKEN = HuksTagType.HUKS_TAG_TYPE_BYTES \| 306 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AUTH_TIMEOUT = HuksTagType.HUKS_TAG_TYPE_UINT \| 305 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_USER_AUTH_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT \| 304 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_NO_AUTH_REQUIRED = HuksTagType.HUKS_TAG_TYPE_BOOL \| 303 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_USER_ID = HuksTagType.HUKS_TAG_TYPE_UINT \| 302 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ALL_USERS = HuksTagType.HUKS_TAG_TYPE_BOOL \| 301 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_CREATION_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG \| 204 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_USAGE_EXPIRE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG \| 203 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ORIGINATION_EXPIRE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG \| 202 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ACTIVE_DATETIME = HuksTagType.HUKS_TAG_TYPE_ULONG \| 201 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_DERIVE_KEY_SIZE = HuksTagType.HUKS_TAG_TYPE_UINT \| 24 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES \| 23 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AGREE_PUBLIC_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES \| 22 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BYTES \| 21 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS = HuksTagType.HUKS_TAG_TYPE_BOOL \| 20 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_AGREE_ALG = HuksTagType.HUKS_TAG_TYPE_UINT \| 19 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_DERIVE_ALG = HuksTagType.HUKS_TAG_TYPE_UINT \| 18 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_DERIVE_FACTOR = HuksTagType.HUKS_TAG_TYPE_BYTES \| 17 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_DERIVE_MAIN_KEY = HuksTagType.HUKS_TAG_TYPE_BYTES \| 16 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_GENERATE_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT \| 15 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ITERATION = HuksTagType.HUKS_TAG_TYPE_UINT \| 14 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_PWD = HuksTagType.HUKS_TAG_TYPE_BYTES \| 13 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_SALT = HuksTagType.HUKS_TAG_TYPE_BYTES \| 12 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_INFO = HuksTagType.HUKS_TAG_TYPE_BYTES \| 11 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_IV = HuksTagType.HUKS_TAG_TYPE_BYTES \| 10 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_NONCE = HuksTagType.HUKS_TAG_TYPE_BYTES \| 9 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ASSOCIATED_DATA = HuksTagType.HUKS_TAG_TYPE_BYTES \| 8 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_TYPE = HuksTagType.HUKS_TAG_TYPE_UINT \| 7 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_BLOCK_MODE = HuksTagType.HUKS_TAG_TYPE_UINT \| 6 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_PADDING = HuksTagType.HUKS_TAG_TYPE_UINT \| 5 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_DIGEST = HuksTagType.HUKS_TAG_TYPE_UINT \| 4 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_KEY_SIZE = HuksTagType.HUKS_TAG_TYPE_UINT \| 3 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_PURPOSE = HuksTagType.HUKS_TAG_TYPE_UINT \| 2 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_ALGORITHM = HuksTagType.HUKS_TAG_TYPE_UINT \| 1 | Added|
| ohos.security.huks | HuksTag | HUKS_TAG_INVALID = HuksTagType.HUKS_TAG_TYPE_INVALID \| 0 | Added|
| ohos.security.huks | HuksTagType | HUKS_TAG_TYPE_BYTES = 5 << 28 | Added|
| ohos.security.huks | HuksTagType | HUKS_TAG_TYPE_BOOL = 4 << 28 | Added|
| ohos.security.huks | HuksTagType | HUKS_TAG_TYPE_ULONG = 3 << 28 | Added|
| ohos.security.huks | HuksTagType | HUKS_TAG_TYPE_UINT = 2 << 28 | Added|
| ohos.security.huks | HuksTagType | HUKS_TAG_TYPE_INT = 1 << 28 | Added|
| ohos.security.huks | HuksTagType | HUKS_TAG_TYPE_INVALID = 0 << 28 | Added|
| ohos.security.huks | HuksSendType | HUKS_SEND_TYPE_SYNC = 1 | Added|
| ohos.security.huks | HuksSendType | HUKS_SEND_TYPE_ASYNC = 0 | Added|
| ohos.security.huks | HuksKeyStorageType | HUKS_STORAGE_PERSISTENT = 1 | Added|
| ohos.security.huks | HuksKeyStorageType | HUKS_STORAGE_TEMP = 0 | Added|
| ohos.security.huks | HuksKeyFlag | HUKS_KEY_FLAG_DERIVE_KEY = 4 | Added|
| ohos.security.huks | HuksKeyFlag | HUKS_KEY_FLAG_AGREE_KEY = 3 | Added|
| ohos.security.huks | HuksKeyFlag | HUKS_KEY_FLAG_GENERATE_KEY = 2 | Added|
| ohos.security.huks | HuksKeyFlag | HUKS_KEY_FLAG_IMPORT_KEY = 1 | Added|
| ohos.security.huks | HuksKeyGenerateType | HUKS_KEY_GENERATE_TYPE_AGREE = 2 | Added|
| ohos.security.huks | HuksKeyGenerateType | HUKS_KEY_GENERATE_TYPE_DERIVE = 1 | Added|
| ohos.security.huks | HuksKeyGenerateType | HUKS_KEY_GENERATE_TYPE_DEFAULT = 0 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_DH = 103 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_ED25519 = 102 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_X25519 = 101 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_ECDH = 100 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_PBKDF2 = 52 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_HKDF = 51 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_HMAC = 50 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_AES = 20 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_DSA = 3 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_ECC = 2 | Added|
| ohos.security.huks | HuksKeyAlg | HUKS_ALG_RSA = 1 | Added|
| ohos.security.huks | HuksKeySize | HUKS_DH_KEY_SIZE_4096 = 4096 | Added|
| ohos.security.huks | HuksKeySize | HUKS_DH_KEY_SIZE_3072 = 3072 | Added|
| ohos.security.huks | HuksKeySize | HUKS_DH_KEY_SIZE_2048 = 2048 | Added|
| ohos.security.huks | HuksKeySize | HUKS_CURVE25519_KEY_SIZE_256 = 256 | Added|
| ohos.security.huks | HuksKeySize | HUKS_AES_KEY_SIZE_512 = 512 | Added|
| ohos.security.huks | HuksKeySize | HUKS_AES_KEY_SIZE_256 = 256 | Added|
| ohos.security.huks | HuksKeySize | HUKS_AES_KEY_SIZE_192 = 192 | Added|
| ohos.security.huks | HuksKeySize | HUKS_AES_KEY_SIZE_128 = 128 | Added|
| ohos.security.huks | HuksKeySize | HUKS_ECC_KEY_SIZE_521 = 521 | Added|
| ohos.security.huks | HuksKeySize | HUKS_ECC_KEY_SIZE_384 = 384 | Added|
| ohos.security.huks | HuksKeySize | HUKS_ECC_KEY_SIZE_256 = 256 | Added|
| ohos.security.huks | HuksKeySize | HUKS_ECC_KEY_SIZE_224 = 224 | Added|
| ohos.security.huks | HuksKeySize | HUKS_RSA_KEY_SIZE_4096 = 4096 | Added|
| ohos.security.huks | HuksKeySize | HUKS_RSA_KEY_SIZE_3072 = 3072 | Added|
| ohos.security.huks | HuksKeySize | HUKS_RSA_KEY_SIZE_2048 = 2048 | Added|
| ohos.security.huks | HuksKeySize | HUKS_RSA_KEY_SIZE_1024 = 1024 | Added|
| ohos.security.huks | HuksKeySize | HUKS_RSA_KEY_SIZE_768 = 768 | Added|
| ohos.security.huks | HuksKeySize | HUKS_RSA_KEY_SIZE_512 = 512 | Added|
| ohos.security.huks | HuksCipherMode | HUKS_MODE_GCM = 32 | Added|
| ohos.security.huks | HuksCipherMode | HUKS_MODE_CCM = 31 | Added|
| ohos.security.huks | HuksCipherMode | HUKS_MODE_OFB = 4 | Added|
| ohos.security.huks | HuksCipherMode | HUKS_MODE_CTR = 3 | Added|
| ohos.security.huks | HuksCipherMode | HUKS_MODE_CBC = 2 | Added|
| ohos.security.huks | HuksCipherMode | HUKS_MODE_ECB = 1 | Added|
| ohos.security.huks | HuksKeyPadding | HUKS_PADDING_PKCS7 = 5 | Added|
| ohos.security.huks | HuksKeyPadding | HUKS_PADDING_PKCS5 = 4 | Added|
| ohos.security.huks | HuksKeyPadding | HUKS_PADDING_PKCS1_V1_5 = 3 | Added|
| ohos.security.huks | HuksKeyPadding | HUKS_PADDING_PSS = 2 | Added|
| ohos.security.huks | HuksKeyPadding | HUKS_PADDING_OAEP = 1 | Added|
| ohos.security.huks | HuksKeyPadding | HUKS_PADDING_NONE = 0 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_SHA512 = 14 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_SHA384 = 13 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_SHA256 = 12 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_SHA224 = 11 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_SHA1 = 10 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_MD5 = 1 | Added|
| ohos.security.huks | HuksKeyDigest | HUKS_DIGEST_NONE = 0 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_AGREE = 256 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_MAC = 128 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_UNWRAP = 64 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_WRAP = 32 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_DERIVE = 16 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_VERIFY = 8 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_SIGN = 4 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_DECRYPT = 2 | Added|
| ohos.security.huks | HuksKeyPurpose | HUKS_KEY_PURPOSE_ENCRYPT = 1 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_UNKNOWN_ERROR = -1000 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INTERNAL_ERROR = -999 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_OPERATION = -125 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_ITERATION = -124 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_SALT = -123 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_AE_TAG = -122 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_NONCE = -121 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_AAD = -120 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_IV = -119 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_SIGNATURE_SIZE = -118 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_DIGEST = -117 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_MODE = -116 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_PURPOSE = -115 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_PADDING = -114 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_KEY_SIZE = -113 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_ALGORITHM = -112 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_ITERATION_FAIL = -111 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_SALT_FAIL = -110 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_AE_TAG_FAIL = -109 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_IV_FAIL = -108 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_AAD_FAIL = -107 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_NONCE_FAIL = -106 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_MODE_FAIL = -105 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_DIGEST_FAIL = -104 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_PURPOSE_FAIL = -103 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_PADDING_FAIL = -102 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_KEY_SIZE_FAIL = -101 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CHECK_GET_ALG_FAIL = -100 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_VERIFICATION_FAILED = -38 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL = -37 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_NEW_ROOT_KEY_MATERIAL_EXIST = -36 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_EFUSE_READ_FAIL = -35 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_IPC_DLOPEN_FAIL = -34 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_IPC_INIT_FAIL = -33 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_COMMUNICATION_TIMEOUT = -32 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CRYPTO_ENGINE_ERROR = -31 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_PARAM_NOT_EXIST = -30 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_REQUEST_OVERFLOWS = -29 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_IPC_MSG_FAIL = -28 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_KEY_FILE = -27 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_MAKE_DIR_FAIL = -26 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_CLOSE_FILE_FAIL = -25 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_OPEN_FILE_FAIL = -24 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_REMOVE_FILE_FAIL = -23 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_WRITE_FILE_FAIL = -22 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_MALLOC_FAIL = -21 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_HASH_NOT_EQUAL = -20 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_KEY_INFO = -19 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_PRIVATE_KEY = -18 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_PUBLIC_KEY = -17 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_READ_FILE_FAIL = -16 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_FILE_SIZE_FAIL = -15 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_NULL_POINTER = -14 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_NOT_EXIST = -13 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_ALREADY_EXISTS = -12 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_HARDWARE_FAILURE = -11 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_STORAGE_FAILURE = -10 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_COMMUNICATION_FAILURE = -9 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INSUFFICIENT_MEMORY = -8 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_BUFFER_TOO_SMALL = -7 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INSUFFICIENT_DATA = -6 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_NO_PERMISSION = -5 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_NOT_SUPPORTED = -4 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_INVALID_ARGUMENT = -3 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_ERROR_BAD_STATE = -2 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_FAILURE = -1 | Added|
| ohos.security.huks | HuksErrorCode | HUKS_SUCCESS = 0 | Added|
| ohos.security.huks | HuksResult | certChains?: Array<string>; | Added|
| ohos.security.huks | HuksResult | properties?: Array<HuksParam>; | Added|
| ohos.security.huks | HuksResult | outData?: Uint8Array; | Added|
| ohos.security.huks | HuksResult | errorCode: number; | Added|
| ohos.security.huks | HuksOptions | inData?: Uint8Array; | Added|
| ohos.security.huks | HuksOptions | properties?: Array<HuksParam>; | Added|
| ohos.security.huks | HuksHandle | token?: Uint8Array; | Added|
| ohos.security.huks | HuksHandle | handle: number; | Added|
| ohos.security.huks | HuksHandle | errorCode: number; | Added|
| ohos.security.huks | HuksParam | value: boolean \| number \| bigint \| Uint8Array; | Added|
| ohos.security.huks | HuksParam | tag: HuksTag; | Added|
| ohos.security.huks | huks | function getSdkVersion(options: HuksOptions) : string; | Added|
| ohos.security.huks | huks | function abort(handle: number, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function abort(handle: number, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function finish(handle: number, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function finish(handle: number, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function update(handle: number, token?: Uint8Array, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function update(handle: number, token?: Uint8Array, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function init(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksHandle>) : void;<br>function init(keyAlias: string, options: HuksOptions) : Promise<HuksHandle>; | Added|
| ohos.security.huks | huks | function isKeyExist(keyAlias: string, options: HuksOptions, callback: AsyncCallback<boolean>) : void;<br>function isKeyExist(keyAlias: string, options: HuksOptions) : Promise<boolean>; | Added|
| ohos.security.huks | huks | function getKeyProperties(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function getKeyProperties(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function exportKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function exportKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function importKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function importKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function deleteKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function deleteKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; | Added|
| ohos.security.huks | huks | function generateKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback<HuksResult>) : void;<br>function generateKey(keyAlias: string, options: HuksOptions) : Promise<HuksResult>; | Added|
# JS API Changes of the Pan-Sensor Subsystem
The table below lists the APIs changes of the pan-sensor subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.vibrator | VibratorStopMode | VIBRATOR_STOP_MODE_PRESET = "preset" | Added|
| ohos.vibrator | VibratorStopMode | VIBRATOR_STOP_MODE_TIME = "time" | Added|
| ohos.vibrator | EffectId | EFFECT_CLOCK_TIMER = "haptic.clock.timer" | Added|
| ohos.vibrator | vibrator | function stop(stopMode: VibratorStopMode): Promise<void>;<br>function stop(stopMode: VibratorStopMode, callback?: AsyncCallback<void>): void; | Added|
| ohos.vibrator | vibrator | function vibrate(duration: number, callback?: AsyncCallback<void>): void;<br>function vibrate(duration: number): Promise<void>;<br>function vibrate(effectId: EffectId): Promise<void>;<br>function vibrate(effectId: EffectId, callback?: AsyncCallback<void>): void; | Added|
| ohos.sensor | WearDetectionResponse | value: number; | Added|
| ohos.sensor | HeartRateResponse | heartRate: number; | Added|
| ohos.sensor | BarometerResponse | pressure: number; | Added|
| ohos.sensor | AmbientTemperatureResponse | temperature: number; | Added|
| ohos.sensor | PedometerDetectionResponse | scalar: number; | Added|
| ohos.sensor | HumidityResponse | humidity: number; | Added|
| ohos.sensor | PedometerResponse | steps: number; | Added|
| ohos.sensor | MagneticFieldUncalibratedResponse | biasZ: number; | Added|
| ohos.sensor | MagneticFieldUncalibratedResponse | biasY: number; | Added|
| ohos.sensor | MagneticFieldUncalibratedResponse | biasX: number; | Added|
| ohos.sensor | MagneticFieldUncalibratedResponse | z: number; | Added|
| ohos.sensor | MagneticFieldUncalibratedResponse | y: number; | Added|
| ohos.sensor | MagneticFieldUncalibratedResponse | x: number; | Added|
| ohos.sensor | MagneticFieldResponse | z: number; | Added|
| ohos.sensor | MagneticFieldResponse | y: number; | Added|
| ohos.sensor | MagneticFieldResponse | x: number; | Added|
| ohos.sensor | HallResponse | status: number; | Added|
| ohos.sensor | LightResponse | intensity: number; | Added|
| ohos.sensor | ProximityResponse | distance: number; | Added|
| ohos.sensor | SignificantMotionResponse | scalar: number; | Added|
| ohos.sensor | GyroscopeUncalibratedResponse | biasZ: number; | Added|
| ohos.sensor | GyroscopeUncalibratedResponse | biasY: number; | Added|
| ohos.sensor | GyroscopeUncalibratedResponse | biasX: number; | Added|
| ohos.sensor | GyroscopeUncalibratedResponse | z: number; | Added|
| ohos.sensor | GyroscopeUncalibratedResponse | y: number; | Added|
| ohos.sensor | GyroscopeUncalibratedResponse | x: number; | Added|
| ohos.sensor | GyroscopeResponse | z: number; | Added|
| ohos.sensor | GyroscopeResponse | y: number; | Added|
| ohos.sensor | GyroscopeResponse | x: number; | Added|
| ohos.sensor | RotationVectorResponse | w: number; | Added|
| ohos.sensor | RotationVectorResponse | z: number; | Added|
| ohos.sensor | RotationVectorResponse | y: number; | Added|
| ohos.sensor | RotationVectorResponse | x: number; | Added|
| ohos.sensor | OrientationResponse | gamma: number; | Added|
| ohos.sensor | OrientationResponse | beta: number; | Added|
| ohos.sensor | OrientationResponse | alpha: number; | Added|
| ohos.sensor | GravityResponse | z: number; | Added|
| ohos.sensor | GravityResponse | y: number; | Added|
| ohos.sensor | GravityResponse | x: number; | Added|
| ohos.sensor | AccelerometerUncalibratedResponse | biasZ: number; | Added|
| ohos.sensor | AccelerometerUncalibratedResponse | biasY: number; | Added|
| ohos.sensor | AccelerometerUncalibratedResponse | biasX: number; | Added|
| ohos.sensor | AccelerometerUncalibratedResponse | z: number; | Added|
| ohos.sensor | AccelerometerUncalibratedResponse | y: number; | Added|
| ohos.sensor | AccelerometerUncalibratedResponse | x: number; | Added|
| ohos.sensor | LinearAccelerometerResponse | z: number; | Added|
| ohos.sensor | LinearAccelerometerResponse | y: number; | Added|
| ohos.sensor | LinearAccelerometerResponse | x: number; | Added|
| ohos.sensor | AccelerometerResponse | z: number; | Added|
| ohos.sensor | AccelerometerResponse | y: number; | Added|
| ohos.sensor | AccelerometerResponse | x: number; | Added|
| ohos.sensor | Response | timestamp: number; | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED = 281 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_WEAR_DETECTION = 280 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_HEART_RATE = 278 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_PEDOMETER = 266 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_PEDOMETER_DETECTION = 265 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_SIGNIFICANT_MOTION = 264 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED = 263 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED = 261 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_AMBIENT_TEMPERATURE = 260 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_ROTATION_VECTOR = 259 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_LINEAR_ACCELERATION = 258 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_GRAVITY = 257 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_ORIENTATION = 256 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_HUMIDITY = 13 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_PROXIMITY = 12 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_HALL = 10 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_BAROMETER = 8 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_MAGNETIC_FIELD = 6 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_AMBIENT_LIGHT = 5 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_GYROSCOPE = 2 | Added|
| ohos.sensor | SensorType | SENSOR_TYPE_ID_ACCELEROMETER = 1 | Added|
| ohos.sensor | Options | interval?: number; | Added|
| ohos.sensor | RotationMatrixResponse | inclination: Array<number> | Added|
| ohos.sensor | RotationMatrixResponse | rotation: Array<number>; | Added|
| ohos.sensor | sensor | function getDirection(rotationMatrix: Array<number>, callback: AsyncCallback<Array<number>>): void;<br>function getDirection(rotationMatrix: Array<number>): Promise<Array<number>>; | Added|
| ohos.sensor | sensor | function createQuaternion(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): void;<br>function createQuaternion(rotationVector: Array<number>): Promise<Array<number>>; | Added|
| ohos.sensor | sensor | function transformCoordinateSystem(inRotationVector: Array<number>, coordinates: CoordinatesOptions, callback: AsyncCallback<Array<number>>): void;<br>function transformCoordinateSystem(inRotationVector: Array<number>, coordinates: CoordinatesOptions): Promise<Array<number>>; | Added|
| ohos.sensor | CoordinatesOptions | y: number; | Added|
| ohos.sensor | CoordinatesOptions | x: number; | Added|
| ohos.sensor | sensor | function createRotationMatrix(rotationVector: Array<number>, callback: AsyncCallback<Array<number>>): void;<br>function createRotationMatrix(rotationVector: Array<number>): Promise<Array<number>>;<br>function createRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>, callback: AsyncCallback<RotationMatrixResponse>): void;<br>function createRotationMatrix(gravity: Array<number>, geomagnetic: Array<number>,): Promise<RotationMatrixResponse>; | Added|
| ohos.sensor | sensor | function getAngleModify(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>, callback: AsyncCallback<Array<number>>): void;<br>function getAngleModify(currentRotationMatrix: Array<number>, preRotationMatrix: Array<number>): Promise<Array<number>>;| Added|
| ohos.sensor | sensor | function getGeomagneticDip(inclinationMatrix: Array<number>, callback: AsyncCallback<number>): void;<br>function getGeomagneticDip(inclinationMatrix: Array<number>): Promise<number>; | Added|
| ohos.sensor | sensor | function getAltitude(seaPressure: number, currentPressure: number, callback: AsyncCallback<number>): void;<br>function getAltitude(seaPressure: number, currentPressure: number): Promise<number>; | Added|
| ohos.sensor | sensor | function getGeomagneticField(locationOptions: LocationOptions, timeMillis: number, callback: AsyncCallback<GeomagneticResponse>): void;<br>function getGeomagneticField(locationOptions: LocationOptions, timeMillis: number): Promise<GeomagneticResponse>; | Added|
| ohos.sensor | GeomagneticResponse | totalIntensity: number; | Added|
| ohos.sensor | GeomagneticResponse | levelIntensity: number; | Added|
| ohos.sensor | GeomagneticResponse | deflectionAngle: number; | Added|
| ohos.sensor | GeomagneticResponse | geomagneticDip: number; | Added|
| ohos.sensor | GeomagneticResponse | z: number; | Added|
| ohos.sensor | GeomagneticResponse | y: number; | Added|
| ohos.sensor | GeomagneticResponse | x: number; | Added|
| ohos.sensor | LocationOptions | altitude: number; | Added|
| ohos.sensor | LocationOptions | longitude: number; | Added|
| ohos.sensor | LocationOptions | latitude: number; | Added|
| ohos.sensor | sensor | function off(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback?: Callback<AccelerometerResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, callback?: Callback<AccelerometerUncalibratedResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback?: Callback<LightResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, callback?: Callback<AmbientTemperatureResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_BAROMETER, callback?: Callback<BarometerResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_GRAVITY, callback?: Callback<GravityResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback?: Callback<GyroscopeResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, callback?: Callback<GyroscopeUncalibratedResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_HALL, callback?: Callback<HallResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback?: Callback<HeartRateResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback?: Callback<HumidityResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback?: Callback<LinearAccelerometerResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback?: Callback<MagneticFieldResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, callback?: Callback<MagneticFieldUncalibratedResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_ORIENTATION, callback?: Callback<OrientationResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_PEDOMETER, callback?: Callback<PedometerResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback?: Callback<PedometerDetectionResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_PROXIMITY, callback?: Callback<ProximityResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback?: Callback<RotationVectorResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback?: Callback<SignificantMotionResponse>): void;<br>function off(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback?: Callback<WearDetectionResponse>): void;| Added|
| ohos.sensor | sensor | function once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: Callback<AccelerometerResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, callback: Callback<AccelerometerUncalibratedResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback: Callback<LightResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, callback: Callback<AmbientTemperatureResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_BAROMETER, callback: Callback<BarometerResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_GRAVITY, callback: Callback<GravityResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback: Callback<GyroscopeResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, callback: Callback<GyroscopeUncalibratedResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_HALL, callback: Callback<HallResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback: Callback<HumidityResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback: Callback<LinearAccelerometerResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, callback: Callback<MagneticFieldUncalibratedResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_ORIENTATION, callback: Callback<OrientationResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_PEDOMETER, callback: Callback<PedometerResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_PROXIMITY, callback: Callback<ProximityResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback: Callback<RotationVectorResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback: Callback<SignificantMotionResponse>): void;<br>function once(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback<WearDetectionResponse>): void; | Added|
| ohos.sensor | sensor | function on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER, callback: Callback<AccelerometerResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_ACCELEROMETER_UNCALIBRATED, callback: Callback<AccelerometerUncalibratedResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_AMBIENT_LIGHT, callback: Callback<LightResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_AMBIENT_TEMPERATURE, callback: Callback<AmbientTemperatureResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_BAROMETER, callback: Callback<BarometerResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_GRAVITY, callback: Callback<GravityResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE, callback: Callback<GyroscopeResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_GYROSCOPE_UNCALIBRATED, callback: Callback<GyroscopeUncalibratedResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_HALL, callback: Callback<HallResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_HEART_RATE, callback: Callback<HeartRateResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_HUMIDITY, callback: Callback<HumidityResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_LINEAR_ACCELERATION, callback: Callback<LinearAccelerometerResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD, callback: Callback<MagneticFieldResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_MAGNETIC_FIELD_UNCALIBRATED, callback: Callback<MagneticFieldUncalibratedResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_ORIENTATION, callback: Callback<OrientationResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_PEDOMETER, callback: Callback<PedometerResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_PEDOMETER_DETECTION, callback: Callback<PedometerDetectionResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_PROXIMITY, callback: Callback<ProximityResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_ROTATION_VECTOR, callback: Callback<RotationVectorResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_SIGNIFICANT_MOTION, callback: Callback<SignificantMotionResponse>, options?: Options): void;<br>function on(type: SensorType.SENSOR_TYPE_ID_WEAR_DETECTION, callback: Callback<WearDetectionResponse>, options?: Options): void; | Added|
# JS API Changes of the Application Framework Subsystem
The table below lists the APIs changes of the application framework subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.settings | settings | function setValueSync(dataAbilityHelper: DataAbilityHelper, name: string, value: string): boolean; | Added|
| ohos.settings | settings | function getValueSync(dataAbilityHelper: DataAbilityHelper, name: string, defValue: string): string; | Added|
| ohos.settings | settings | function getUriSync(name: string): string; | Added|
| ohos.settings | settings | function canShowFloating(callback: AsyncCallback<boolean>): void;<br>function canShowFloating(): Promise<boolean>; | Added|
| ohos.settings | settings | function enableAirplaneMode(enable: boolean, callback: AsyncCallback<void>): void;<br>function enableAirplaneMode(enable: boolean): Promise<void>; | Added|
| ohos.settings | settings | function getValue(dataAbilityHelper: DataAbilityHelper, name: string, callback: AsyncCallback<object>): void;<br>function getValue(dataAbilityHelper: DataAbilityHelper, name: string): Promise<object>; | Added|
| ohos.settings | settings | function getURI(name: string, callback: AsyncCallback<object>): void;<br>function getURI(name: string): Promise<object>; | Added|
| ohos.settings | wireless | const WIFI_WATCHDOG_STATUS: string | Added|
| ohos.settings | wireless | const WIFI_STATUS: string | Added|
| ohos.settings | wireless | const WIFI_TO_MOBILE_DATA_AWAKE_TIMEOUT: string | Added|
| ohos.settings | wireless | const WIFI_DHCP_MAX_RETRY_COUNT: string | Added|
| ohos.settings | wireless | const OWNER_LOCKDOWN_WIFI_CFG: string | Added|
| ohos.settings | wireless | const WIFI_RADIO: string | Added|
| ohos.settings | wireless | const NFC_RADIO: string | Added|
| ohos.settings | wireless | const CELL_RADIO: string | Added|
| ohos.settings | wireless | const BLUETOOTH_RADIO: string | Added|
| ohos.settings | wireless | const BLUETOOTH_STATUS: string | Added|
| ohos.settings | wireless | const AIRPLANE_MODE_RADIOS: string | Added|
| ohos.settings | wireless | const BLUETOOTH_DISCOVER_TIMEOUT: string | Added|
| ohos.settings | wireless | const BLUETOOTH_DISCOVER_ABILITY_STATUS: string | Added|
| ohos.settings | TTS | const ENABLED_TTS_PLUGINS: string | Added|
| ohos.settings | TTS | const DEFAULT_TTS_SYNTH: string | Added|
| ohos.settings | TTS | const DEFAULT_TTS_RATE: string | Added|
| ohos.settings | TTS | const DEFAULT_TTS_PITCH: string | Added|
| ohos.settings | sound | const HAPTIC_FEEDBACK_STATUS: string | Added|
| ohos.settings | sound | const VIBRATE_STATUS: string | Added|
| ohos.settings | sound | const SOUND_EFFECTS_STATUS: string | Added|
| ohos.settings | sound | const DEFAULT_RINGTONE: string | Added|
| ohos.settings | sound | const DEFAULT_NOTIFICATION_SOUND: string | Added|
| ohos.settings | sound | const AFFECTED_MUTE_STREAMS: string | Added|
| ohos.settings | sound | const AFFECTED_MODE_RINGER_STREAMS: string | Added|
| ohos.settings | sound | const DTMF_TONE_WHILE_DIALING: string | Added|
| ohos.settings | sound | const DTMF_TONE_TYPE_WHILE_DIALING: string | Added|
| ohos.settings | sound | const DEFAULT_ALARM_ALERT: string | Added|
| ohos.settings | sound | const VIBRATE_WHILE_RINGING: string | Added|
| ohos.settings | phone | const RTT_CALLING_STATUS: string | Added|
| ohos.settings | network | const NETWORK_PREFERENCE_USAGE: string | Added|
| ohos.settings | network | const HTTP_PROXY_CFG: string | Added|
| ohos.settings | network | const DATA_ROAMING_STATUS: string | Added|
| ohos.settings | input | const SHOW_PASSWORD_TEXT_INPUT: string | Added|
| ohos.settings | input | const AUTO_REPLACE_TEXT_INPUT: string | Added|
| ohos.settings | input | const AUTO_PUNCTUATE_TEXT_INPUT: string | Added|
| ohos.settings | input | const AUTO_CAPS_TEXT_INPUT: string | Added|
| ohos.settings | input | const SELECTOR_VISIBILITY_FOR_INPUT_METHOD: string | Added|
| ohos.settings | input | const ACTIVATED_INPUT_METHODS: string | Added|
| ohos.settings | input | const ACTIVATED_INPUT_METHOD_SUB_MODE: string | Added|
| ohos.settings | input | const DEFAULT_INPUT_METHOD: string | Added|
| ohos.settings | general | const TOUCH_EXPLORATION_STATUS: string | Added|
| ohos.settings | general | const SKIP_USE_HINTS: string | Added|
| ohos.settings | general | const GEOLOCATION_ORIGINS_ALLOWED: string | Added|
| ohos.settings | general | const ACTIVATED_ACCESSIBILITY_SERVICES: string | Added|
| ohos.settings | general | const ACCESSIBILITY_STATUS: string | Added|
| ohos.settings | general | const DEBUG_APP_PACKAGE: string | Added|
| ohos.settings | general | const DEBUGGER_WAITING: string | Added|
| ohos.settings | general | const USB_STORAGE_STATUS: string | Added|
| ohos.settings | general | const DEVICE_NAME: string | Added|
| ohos.settings | general | const DEVELOPMENT_SETTINGS_STATUS: string | Added|
| ohos.settings | general | const CONTACT_METADATA_SYNC_STATUS: string | Added|
| ohos.settings | general | const BOOT_COUNTING: string | Added|
| ohos.settings | general | const HDC_STATUS: string | Added|
| ohos.settings | general | const DEVICE_PROVISION_STATUS: string | Added|
| ohos.settings | general | const AIRPLANE_MODE_STATUS: string | Added|
| ohos.settings | general | const ACCELEROMETER_ROTATION_STATUS: string | Added|
| ohos.settings | general | const END_BUTTON_ACTION: string | Added|
| ohos.settings | general | const SETUP_WIZARD_FINISHED: string | Added|
| ohos.settings | display | const DISPLAY_INVERSION_STATUS: string | Added|
| ohos.settings | display | const WINDOW_ANIMATION_SCALE: string | Added|
| ohos.settings | display | const TRANSITION_ANIMATION_SCALE: string | Added|
| ohos.settings | display | const ANIMATOR_DURATION_SCALE: string | Added|
| ohos.settings | display | const DEFAULT_SCREEN_ROTATION: string | Added|
| ohos.settings | display | const SCREEN_OFF_TIMEOUT: string | Added|
| ohos.settings | display | const MANUAL_SCREEN_BRIGHTNESS_MODE: number | Added|
| ohos.settings | display | const AUTO_SCREEN_BRIGHTNESS_MODE: number | Added|
| ohos.settings | display | const AUTO_SCREEN_BRIGHTNESS: string | Added|
| ohos.settings | display | const SCREEN_BRIGHTNESS_STATUS: string | Added|
| ohos.settings | display | const FONT_SCALE: string | Added|
| ohos.settings | date | const AUTO_GAIN_TIME_ZONE: string | Added|
| ohos.settings | date | const AUTO_GAIN_TIME: string | Added|
| ohos.settings | date | const TIME_FORMAT: string | Added|
| ohos.settings | date | const DATE_FORMAT: string | Added|
# JS API Changes of the DSoftBus Subsystem
The table below lists the APIs changes of the DSoftBus subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.rpc | Ashmem | readFromAshmem(size: number, offset: number): number[]; | Added|
| ohos.rpc | Ashmem | writeToAshmem(buf: number[], size: number, offset: number): boolean; | Added|
| ohos.rpc | Ashmem | setProtection(protectionType: number): boolean; | Added|
| ohos.rpc | Ashmem | mapReadOnlyAshmem(): boolean; | Added|
| ohos.rpc | Ashmem | mapReadAndWriteAshmem(): boolean; | Added|
| ohos.rpc | Ashmem | mapAshmem(mapType: number): boolean; | Added|
| ohos.rpc | Ashmem | getAshmemSize(): number; | Added|
| ohos.rpc | Ashmem | unmapAshmem(): void; | Added|
| ohos.rpc | Ashmem | closeAshmem(): void; | Added|
| ohos.rpc | Ashmem | static createAshmemFromExisting(ashmem: Ashmem): Ashmem; | Added|
| ohos.rpc | Ashmem | static createAshmem(name: string, size: number): Ashmem; | Added|
| ohos.rpc | Ashmem | PROT_WRITE = 2; | Added|
| ohos.rpc | Ashmem | PROT_READ = 1; | Added|
| ohos.rpc | Ashmem | PROT_NONE = 0; | Added|
| ohos.rpc | Ashmem | PROT_EXEC = 4; | Added|
| ohos.rpc | IPCSkeleton | static getCallingTokenId(): number; | Added|
| ohos.rpc | SendRequestResult | reply: MessageParcel; | Added|
| ohos.rpc | SendRequestResult | data: MessageParcel; | Added|
| ohos.rpc | SendRequestResult | code: number; | Added|
| ohos.rpc | SendRequestResult | errCode: number; | Added|
| ohos.rpc | MessageParcel | readRawData(size: number): number[]; | Added|
| ohos.rpc | MessageParcel | writeRawData(rawData: number[], size: number): boolean; | Added|
| ohos.rpc | MessageParcel | getRawDataCapacity(): number; | Added|
| ohos.rpc | MessageParcel | readAshmem(): Ashmem; | Added|
| ohos.rpc | MessageParcel | writeAshmem(ashmem: Ashmem): boolean; | Added|
| ohos.rpc | MessageParcel | readFileDescriptor(): number; | Added|
| ohos.rpc | MessageParcel | writeFileDescriptor(fd: number): boolean; | Added|
| ohos.rpc | MessageParcel | containFileDescriptors(): boolean; | Added|
| ohos.rpc | MessageParcel | static dupFileDescriptor(fd: number) :number; | Added|
| ohos.rpc | MessageParcel | static closeFileDescriptor(fd: number): void; | Added|
| ohos.rpc | MessageParcel | readRemoteObjectArray(objects: IRemoteObject[]): void;<br>readRemoteObjectArray(): IRemoteObject[]; | Added|
| ohos.rpc | MessageParcel | readSequenceableArray(sequenceableArray: Sequenceable[]): void; | Added|
| ohos.rpc | MessageParcel | writeRemoteObjectArray(objectArray: IRemoteObject[]): boolean; | Added|
| ohos.rpc | MessageParcel | readException(): void; | Added|
| ohos.rpc | MessageParcel | writeNoException(): void; | Added|
# JS API Changes of the Telephony Subsystem
The table below lists the APIs changes of the Telephony subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.telephony.sms | sms | function hasSmsCapability(): boolean; | Added|
| ohos.telephony.sim | CardType | SINGLE_MODE_ISIM_CARD = 60 | Added|
| ohos.telephony.sim | CardType | DUAL_MODE_UG_CARD = 50 | Added|
| ohos.telephony.sim | CardType | DUAL_MODE_TELECOM_LTE_CARD = 43 | Added|
| ohos.telephony.sim | CardType | CU_DUAL_MODE_CARD = 42 | Added|
| ohos.telephony.sim | CardType | CT_NATIONAL_ROAMING_CARD = 41 | Added|
| ohos.telephony.sim | CardType | DUAL_MODE_CG_CARD = 40 | Added|
| ohos.telephony.sim | CardType | SINGLE_MODE_RUIM_CARD = 30 | Added|
| ohos.telephony.sim | CardType | SINGLE_MODE_USIM_CARD = 20 | Added|
| ohos.telephony.sim | CardType | SINGLE_MODE_SIM_CARD = 10 | Added|
| ohos.telephony.sim | CardType | UNKNOWN_CARD = -1 | Added|
| ohos.telephony.sim | sim | function hasSimCard(slotId: number, callback: AsyncCallback<boolean>): void;<br>function hasSimCard(slotId: number): Promise<boolean>; | Added|
| ohos.telephony.sim | sim | function getMaxSimCount(): number; | Added|
| ohos.telephony.sim | sim | function getCardType(slotId: number, callback: AsyncCallback<CardType>): void;<br>function getCardType(slotId: number): Promise<CardType>; | Added|
| ohos.telephony.sim | sim | function hasOperatorPrivileges(slotId: number, callback: AsyncCallback<boolean>): void;<br>function hasOperatorPrivileges(slotId: number): Promise<boolean>; | Added|
| ohos.telephony.sim | sim | function isSimActive(slotId: number, callback: AsyncCallback<boolean>): void;<br>function isSimActive(slotId: number): Promise<boolean>; | Added|
| ohos.telephony.radio | NetworkState | cfgTech: RadioTechnology; | Added|
| ohos.telephony.radio | radio | function getOperatorName(slotId: number, callback: AsyncCallback<string>): void;<br>function getOperatorName(slotId: number): Promise<string>; | Added|
| ohos.telephony.radio | radio | function isNrSupported(): boolean;<br>function isNrSupported(slotId: number): boolean; | Added|
| ohos.telephony.radio | radio | function getPrimarySlotId(callback: AsyncCallback<number>): void;<br>function getPrimarySlotId(): Promise<number>; | Added|
| ohos.telephony.observer | LockReason | SIM_SIM_PUK | Added|
| ohos.telephony.observer | LockReason | SIM_SIM_PIN | Added|
| ohos.telephony.observer | LockReason | SIM_PC_PUK | Added|
| ohos.telephony.observer | LockReason | SIM_PC_PIN | Added|
| ohos.telephony.observer | LockReason | SIM_PP_PUK | Added|
| ohos.telephony.observer | LockReason | SIM_PP_PIN | Added|
| ohos.telephony.observer | LockReason | SIM_PU_PUK | Added|
| ohos.telephony.observer | LockReason | SIM_PU_PIN | Added|
| ohos.telephony.observer | LockReason | SIM_PN_PUK | Added|
| ohos.telephony.observer | LockReason | SIM_PN_PIN | Added|
| ohos.telephony.observer | LockReason | SIM_PUK | Added|
| ohos.telephony.observer | LockReason | SIM_PIN | Added|
| ohos.telephony.observer | LockReason | SIM_NONE | Added|
| ohos.telephony.observer | SimStateData | reason: LockReason; | Added|
| ohos.telephony.observer | SimStateData | state: SimState; | Added|
| ohos.telephony.observer | SimStateData | type: CardType; | Added|
| ohos.telephony.observer | observer | function off(type: 'simStateChange', callback?: Callback<SimStateData>): void; | Added|
| ohos.telephony.observer | observer | function on(type: 'simStateChange', callback: Callback<SimStateData>): void;<br>function on(type: 'simStateChange', options: { slotId: number }, callback: Callback<SimStateData>): void; | Added|
| ohos.telephony.observer | observer | function off(type: 'cellularDataFlowChange', callback?: Callback<DataFlowType>): void; | Added|
| ohos.telephony.observer | observer | function on(type: 'cellularDataFlowChange', callback: Callback<DataFlowType>): void;<br>function on(type: 'cellularDataFlowChange', options: { slotId: number },callback: Callback<DataFlowType>): void;| Added|
| ohos.telephony.observer | observer | function off(type: 'cellularDataConnectionStateChange',callback?: Callback<{ state: DataConnectState, network: RatType }>): void;| Added|
| ohos.telephony.observer | observer | function on(type: 'cellularDataConnectionStateChange', callback: Callback<{ state: DataConnectState, network: RatType }>): void;<br>function on(type: 'cellularDataConnectionStateChange', options: { slotId: number }, callback: Callback<{ state: DataConnectState, network: RatType }>): void; | Added|
| ohos.telephony.data | DataConnectState | DATA_STATE_SUSPENDED = 3 | Added|
| ohos.telephony.data | DataConnectState | DATA_STATE_CONNECTED = 2 | Added|
| ohos.telephony.data | DataConnectState | DATA_STATE_CONNECTING = 1 | Added|
| ohos.telephony.data | DataConnectState | DATA_STATE_DISCONNECTED = 0 | Added|
| ohos.telephony.data | DataConnectState | DATA_STATE_UNKNOWN = -1 | Added|
| ohos.telephony.data | DataFlowType | DATA_FLOW_TYPE_DORMANT = 4 | Added|
| ohos.telephony.data | DataFlowType | DATA_FLOW_TYPE_UP_DOWN = 3 | Added|
| ohos.telephony.data | DataFlowType | DATA_FLOW_TYPE_UP = 2 | Added|
| ohos.telephony.data | DataFlowType | DATA_FLOW_TYPE_DOWN = 1 | Added|
| ohos.telephony.data | DataFlowType | DATA_FLOW_TYPE_NONE = 0 | Added|
| ohos.telephony.data | data | function isCellularDataRoamingEnabled(slotId: number, callback: AsyncCallback<boolean>): void;<br>function isCellularDataRoamingEnabled(slotId: number): Promise<boolean>; | Added|
| ohos.telephony.data | data | function isCellularDataEnabled(callback: AsyncCallback<boolean>): void;<br>function isCellularDataEnabled(): Promise<boolean>; | Added|
| ohos.telephony.data | data | function getCellularDataState(callback: AsyncCallback<DataConnectState>): void;<br>function getCellularDataState(): Promise<DataConnectState>; | Added|
| ohos.telephony.data | data | function getCellularDataFlowType(callback: AsyncCallback<DataFlowType>): void;<br>function getCellularDataFlowType(): Promise<DataFlowType>; | Added|
| ohos.telephony.data | data | function getDefaultCellularDataSlotId(callback: AsyncCallback<number>): void;<br>function getDefaultCellularDataSlotId(): Promise<number>; | Added|
| ohos.telephony.call | call | function hasVoiceCapability(): boolean; | Added|
| ohos.telephony.call | call | function makeCall(phoneNumber: string, callback: AsyncCallback<void>): void;<br>function makeCall(phoneNumber: string): Promise<void>; | Added|
| ohos.contact | Website | website: string | Added|
| ohos.contact | SipAddress | labelId: number | Added|
| ohos.contact | SipAddress | sipAddress: string | Added|
| ohos.contact | SipAddress | labelName: string | Added|
| ohos.contact | SipAddress | static readonly INVALID_LABEL_ID: -1 | Added|
| ohos.contact | SipAddress | static readonly SIP_OTHER: 3 | Added|
| ohos.contact | SipAddress | static readonly SIP_WORK: 2 | Added|
| ohos.contact | SipAddress | static readonly SIP_HOME: 1 | Added|
| ohos.contact | SipAddress | static readonly CUSTOM_LABEL: 0 | Added|
| ohos.contact | Relation | labelId: number | Added|
| ohos.contact | Relation | relationName: string | Added|
| ohos.contact | Relation | labelName: string | Added|
| ohos.contact | Relation | static readonly INVALID_LABEL_ID: -1 | Added|
| ohos.contact | Relation | static readonly RELATION_SPOUSE: 14 | Added|
| ohos.contact | Relation | static readonly RELATION_SISTER: 13 | Added|
| ohos.contact | Relation | static readonly RELATION_RELATIVE: 12 | Added|
| ohos.contact | Relation | static readonly RELATION_REFERRED_BY: 11 | Added|
| ohos.contact | Relation | static readonly RELATION_PARTNER: 10 | Added|
| ohos.contact | Relation | static readonly RELATION_PARENT: 9 | Added|
| ohos.contact | Relation | static readonly RELATION_MOTHER: 8 | Added|
| ohos.contact | Relation | static readonly RELATION_MANAGER: 7 | Added|
| ohos.contact | Relation | static readonly RELATION_FRIEND: 6 | Added|
| ohos.contact | Relation | static readonly RELATION_FATHER: 5 | Added|
| ohos.contact | Relation | static readonly RELATION_DOMESTIC_PARTNER: 4 | Added|
| ohos.contact | Relation | static readonly RELATION_CHILD: 3 | Added|
| ohos.contact | Relation | static readonly RELATION_BROTHER: 2 | Added|
| ohos.contact | Relation | static readonly RELATION_ASSISTANT: 1 | Added|
| ohos.contact | Relation | static readonly CUSTOM_LABEL: 0 | Added|
| ohos.contact | PostalAddress | labelId: number | Added|
| ohos.contact | PostalAddress | street: string | Added|
| ohos.contact | PostalAddress | region: string | Added|
| ohos.contact | PostalAddress | postcode: string | Added|
| ohos.contact | PostalAddress | postalAddress: string | Added|
| ohos.contact | PostalAddress | pobox: string | Added|
| ohos.contact | PostalAddress | neighborhood: string | Added|
| ohos.contact | PostalAddress | labelName: string | Added|
| ohos.contact | PostalAddress | country: string | Added|
| ohos.contact | PostalAddress | city: string | Added|
| ohos.contact | PostalAddress | static readonly INVALID_LABEL_ID: -1 | Added|
| ohos.contact | PostalAddress | static readonly ADDR_OTHER: 3 | Added|
| ohos.contact | PostalAddress | static readonly ADDR_WORK: 2 | Added|
| ohos.contact | PostalAddress | static readonly ADDR_HOME: 1 | Added|
| ohos.contact | PostalAddress | static readonly CUSTOM_LABEL: 0 | Added|
| ohos.contact | Portrait | uri: string | Added|
| ohos.contact | PhoneNumber | labelId: number | Added|
| ohos.contact | PhoneNumber | phoneNumber: string | Added|
| ohos.contact | PhoneNumber | labelName: string | Added|
| ohos.contact | PhoneNumber | static readonly INVALID_LABEL_ID: -1 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_MMS: 20 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_ASSISTANT: 19 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_WORK_PAGER: 18 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_WORK_MOBILE: 17 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_TTY_TDD: 16 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_TELEX: 15 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_RADIO: 14 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_OTHER_FAX: 13 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_MAIN: 12 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_ISDN: 11 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_COMPANY_MAIN: 10 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_CAR: 9 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_CALLBACK: 8 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_OTHER: 7 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_PAGER: 6 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_FAX_HOME: 5 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_FAX_WORK: 4 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_WORK: 3 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_MOBILE: 2 | Added|
| ohos.contact | PhoneNumber | static readonly NUM_HOME: 1 | Added|
| ohos.contact | PhoneNumber | static readonly CUSTOM_LABEL: 0 | Added|
| ohos.contact | Organization | title: string | Added|
| ohos.contact | Organization | name: string | Added|
| ohos.contact | Note | noteContent: string | Added|
| ohos.contact | NickName | nickName: string | Added|
| ohos.contact | Name | nameSuffix: string | Added|
| ohos.contact | Name | namePrefix: string | Added|
| ohos.contact | Name | middleNamePhonetic: string | Added|
| ohos.contact | Name | middleName: string | Added|
| ohos.contact | Name | givenNamePhonetic: string | Added|
| ohos.contact | Name | givenName: string | Added|
| ohos.contact | Name | fullName: string | Added|
| ohos.contact | Name | familyNamePhonetic: string | Added|
| ohos.contact | Name | familyName: string | Added|
| ohos.contact | ImAddress | labelId: number | Added|
| ohos.contact | ImAddress | labelName: string | Added|
| ohos.contact | ImAddress | imAddress: string | Added|
| ohos.contact | ImAddress | static readonly INVALID_LABEL_ID: -2 | Added|
| ohos.contact | ImAddress | static readonly IM_JABBER: 7 | Added|
| ohos.contact | ImAddress | static readonly IM_ICQ: 6 | Added|
| ohos.contact | ImAddress | static readonly IM_QQ: 4 | Added|
| ohos.contact | ImAddress | static readonly IM_SKYPE: 3 | Added|
| ohos.contact | ImAddress | static readonly IM_YAHOO: 2 | Added|
| ohos.contact | ImAddress | static readonly IM_MSN: 1 | Added|
| ohos.contact | ImAddress | static readonly IM_AIM: 0 | Added|
| ohos.contact | ImAddress | static readonly CUSTOM_LABEL: -1 | Added|
| ohos.contact | Holder | holderId: number | Added|
| ohos.contact | Holder | readonly displayName: string | Added|
| ohos.contact | Holder | readonly bundleName: string | Added|
| ohos.contact | Group | title: string | Added|
| ohos.contact | Group | groupId: number | Added|
| ohos.contact | Event | labelId: number | Added|
| ohos.contact | Event | labelName: string | Added|
| ohos.contact | Event | eventDate: string | Added|
| ohos.contact | Event | static readonly INVALID_LABEL_ID: -1 | Added|
| ohos.contact | Event | static readonly EVENT_BIRTHDAY: 3 | Added|
| ohos.contact | Event | static readonly EVENT_OTHER: 2 | Added|
| ohos.contact | Event | static readonly EVENT_ANNIVERSARY: 1 | Added|
| ohos.contact | Event | static readonly CUSTOM_LABEL: 0 | Added|
| ohos.contact | Email | labelId: number | Added|
| ohos.contact | Email | displayName: string | Added|
| ohos.contact | Email | labelName: string | Added|
| ohos.contact | Email | email: string | Added|
| ohos.contact | Email | static readonly INVALID_LABEL_ID: -1 | Added|
| ohos.contact | Email | static readonly EMAIL_OTHER: 3 | Added|
| ohos.contact | Email | static readonly EMAIL_WORK: 2 | Added|
| ohos.contact | Email | static readonly EMAIL_HOME: 1 | Added|
| ohos.contact | Email | static readonly CUSTOM_LABEL: 0 | Added|
| ohos.contact | Attribute | ATTR_WEBSITE | Added|
| ohos.contact | Attribute | ATTR_SIP_ADDRESS | Added|
| ohos.contact | Attribute | ATTR_RELATION | Added|
| ohos.contact | Attribute | ATTR_POSTAL_ADDRESS | Added|
| ohos.contact | Attribute | ATTR_PORTRAIT | Added|
| ohos.contact | Attribute | ATTR_PHONE | Added|
| ohos.contact | Attribute | ATTR_ORGANIZATION | Added|
| ohos.contact | Attribute | ATTR_NOTE | Added|
| ohos.contact | Attribute | ATTR_NICKNAME | Added|
| ohos.contact | Attribute | ATTR_NAME | Added|
| ohos.contact | Attribute | ATTR_IM | Added|
| ohos.contact | Attribute | ATTR_GROUP_MEMBERSHIP | Added|
| ohos.contact | Attribute | ATTR_EMAIL | Added|
| ohos.contact | Attribute | ATTR_CONTACT_EVENT | Added|
| ohos.contact | ContactAttributes | attributes: Attribute[] | Added|
| ohos.contact | Contact | organization: Organization | Added|
| ohos.contact | Contact | note: Note | Added|
| ohos.contact | Contact | nickName: NickName | Added|
| ohos.contact | Contact | name: Name | Added|
| ohos.contact | Contact | websites: Website[] | Added|
| ohos.contact | Contact | sipAddresses: SipAddress[] | Added|
| ohos.contact | Contact | relations: Relation[] | Added|
| ohos.contact | Contact | postalAddresses: PostalAddress[] | Added|
| ohos.contact | Contact | portrait: Portrait | Added|
| ohos.contact | Contact | phoneNumbers: PhoneNumber[] | Added|
| ohos.contact | Contact | imAddresses: ImAddress[] | Added|
| ohos.contact | Contact | groups: Group[] | Added|
| ohos.contact | Contact | events: Event[] | Added|
| ohos.contact | Contact | emails: Email[] | Added|
| ohos.contact | Contact | contactAttributes: ContactAttributes | Added|
| ohos.contact | Contact | readonly key: string | Added|
| ohos.contact | Contact | readonly id: number | Added|
| ohos.contact | Contact | static readonly INVALID_CONTACT_ID: -1 | Added|
| ohos.contact | contact | function isMyCard(id: number, callback: AsyncCallback<boolean>): void;<br>function isMyCard(id: number): Promise<boolean>; | Added|
| ohos.contact | contact | function isLocalContact(id: number, callback: AsyncCallback<boolean>): void;<br>function isLocalContact(id: number): Promise<boolean>; | Added|
| ohos.contact | contact | function updateContact(contact: Contact, callback: AsyncCallback<void>): void;<br>function updateContact(contact: Contact, attrs: ContactAttributes, callback: AsyncCallback<void>): void;<br>function updateContact(contact: Contact, attrs?: ContactAttributes): Promise<void>; | Added|
| ohos.contact | contact | function queryMyCard(callback: AsyncCallback<Contact>): void;<br>function queryMyCard(attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;<br>function queryMyCard(attrs?: ContactAttributes): Promise<Contact>; | Added|
| ohos.contact | contact | function queryKey(id: number, callback: AsyncCallback<string>): void;<br>function queryKey(id: number, holder: Holder, callback: AsyncCallback<string>): void;<br>function queryKey(id: number, holder?: Holder): Promise<string>; | Added|
| ohos.contact | contact | function queryHolders(callback: AsyncCallback<Array<Holder>>): void;<br>function queryHolders(): Promise<Array<Holder>>; | Added|
| ohos.contact | contact | function queryGroups(callback: AsyncCallback<Array<Group>>): void;<br>function queryGroups(holder: Holder, callback: AsyncCallback<Array<Group>>): void;<br>function queryGroups(holder?: Holder): Promise<Array<Group>>; | Added|
| ohos.contact | contact | function queryContactsByPhoneNumber(phoneNumber: string, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByPhoneNumber(phoneNumber: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByPhoneNumber(phoneNumber: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByPhoneNumber(phoneNumber: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>; | Added|
| ohos.contact | contact | function queryContactsByEmail(email: string, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByEmail(email: string, holder: Holder, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByEmail(email: string, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByEmail(email: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContactsByEmail(email: string, holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>; | Added|
| ohos.contact | contact | function queryContacts(callback: AsyncCallback<Array<Contact>>): void;<br>function queryContacts(holder: Holder, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContacts(attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContacts(holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Array<Contact>>): void;<br>function queryContacts(holder?: Holder, attrs?: ContactAttributes): Promise<Array<Contact>>; | Added|
| ohos.contact | contact | function queryContact(key: string, callback: AsyncCallback<Contact>): void;<br>function queryContact(key: string, holder: Holder, callback: AsyncCallback<Contact>): void;<br>function queryContact(key: string, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;<br>function queryContact(key: string, holder: Holder, attrs: ContactAttributes, callback: AsyncCallback<Contact>): void;<br>function queryContact(key: string, holder?: Holder, attrs?: ContactAttributes): Promise<Contact>; | Added|
| ohos.contact | contact | function deleteContact(key: string, callback: AsyncCallback<void>): void;<br>function deleteContact(key: string): Promise<void>; | Added|
| ohos.contact | contact | function selectContact(callback: AsyncCallback<Array<Contact>>): void;<br>function selectContact(): Promise<Array<Contact>>; | Added|
| ohos.contact | contact | function addContact(contact: Contact, callback: AsyncCallback<number>): void;<br>function addContact(contact: Contact): Promise<number>; | Added|
# JS API Changes of the Testing Framework Subsystem
The table below lists the APIs changes of the testing framework subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.uitest | UiDriver | screenCap(savePath:string):Promise<bool>; | Added|
| ohos.uitest | UiDriver | swipe(startx:number,starty:number,endx:number,endy:number):Promise<void>; | Added|
| ohos.uitest | UiDriver | longClick(x:number,y:number):Promise<void>; | Added|
| ohos.uitest | UiDriver | doubleClick(x:number,y:number):Promise<void>; | Added|
| ohos.uitest | UiDriver | click(x:number,y:number):Promise<void>; | Added|
| ohos.uitest | UiDriver | triggerKey(keyCode:number):Promise<void>; | Added|
| ohos.uitest | UiDriver | pressBack():Promise<void>; | Added|
| ohos.uitest | UiDriver | assertComponentExist(by:By):Promise<void>; | Added|
| ohos.uitest | UiDriver | findComponents(by:By):Promise<Array<UiComponent>>; | Added|
| ohos.uitest | UiDriver | findComponent(by:By):Promise<UiComponent>; | Added|
| ohos.uitest | UiDriver | delayMs(duration:number):Promise<void>; | Added|
| ohos.uitest | UiDriver | static create():UiDriver; | Added|
| ohos.uitest | UiComponent | scrollSearch(by:By):Promise<UiComponent>; | Added|
| ohos.uitest | UiComponent | inputText(text: string):Promise<void>; | Added|
| ohos.uitest | UiComponent | isSelected():Promise<bool>; | Added|
| ohos.uitest | UiComponent | isFocused():Promise<bool>; | Added|
| ohos.uitest | UiComponent | isEnabled():Promise<bool>; | Added|
| ohos.uitest | UiComponent | isScrollable():Promise<bool>; | Added|
| ohos.uitest | UiComponent | isClickable():Promise<bool>; | Added|
| ohos.uitest | UiComponent | getType():Promise<string>; | Added|
| ohos.uitest | UiComponent | getText():Promise<string>; | Added|
| ohos.uitest | UiComponent | getKey():Promise<string>; | Added|
| ohos.uitest | UiComponent | getId():Promise<number>; | Added|
| ohos.uitest | UiComponent | longClick():Promise<void>; | Added|
| ohos.uitest | UiComponent | doubleClick():Promise<void>; | Added|
| ohos.uitest | UiComponent | click():Promise<void>; | Added|
| ohos.uitest | By | isAfter(by:By):By; | Added|
| ohos.uitest | By | isBefore(by:By):By; | Added|
| ohos.uitest | By | selected(b?:bool):By; | Added|
| ohos.uitest | By | focused(b?:bool):By; | Added|
| ohos.uitest | By | enabled(b?:bool):By; | Added|
| ohos.uitest | By | scrollable(b?:bool):By; | Added|
| ohos.uitest | By | clickable(b?:bool):By; | Added|
| ohos.uitest | By | type(tp:string):By; | Added|
| ohos.uitest | By | id(id:number):By; | Added|
| ohos.uitest | By | key(key:string):By; | Added|
| ohos.uitest | By | text(txt:string,pattern?:MatchPattern):By; | Added|
| ohos.uitest | MatchPattern | ENDS_WITH = 3 | Added|
| ohos.uitest | MatchPattern | STARTS_WITH = 2 | Added|
| ohos.uitest | MatchPattern | CONTAINS = 1 | Added|
| ohos.uitest | MatchPattern | EQUALS = 0 | Added|
# JS API Changes of the USB Subsystem
The table below lists the APIs changes of the USB subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.usb | USBRequestDirection | USB_REQUEST_DIR_FROM_DEVICE = 0x80 | Added|
| ohos.usb | USBRequestDirection | USB_REQUEST_DIR_TO_DEVICE = 0 | Added|
| ohos.usb | USBControlRequestType | USB_REQUEST_TYPE_VENDOR | Added|
| ohos.usb | USBControlRequestType | USB_REQUEST_TYPE_CLASS | Added|
| ohos.usb | USBControlRequestType | USB_REQUEST_TYPE_STANDARD = 0 | Added|
| ohos.usb | USBRequestTargetType | USB_REQUEST_TARGET_OTHER | Added|
| ohos.usb | USBRequestTargetType | USB_REQUEST_TARGET_ENDPOINT | Added|
| ohos.usb | USBRequestTargetType | USB_REQUEST_TARGET_INTERFACE | Added|
| ohos.usb | USBRequestTargetType | USB_REQUEST_TARGET_DEVICE = 0 | Added|
| ohos.usb | USBControlParams | data: Uint8Array; | Added|
| ohos.usb | USBControlParams | index: number; | Added|
| ohos.usb | USBControlParams | value: number; | Added|
| ohos.usb | USBControlParams | reqType: USBControlRequestType; | Added|
| ohos.usb | USBControlParams | target: USBRequestTargetType; | Added|
| ohos.usb | USBControlParams | request: number; | Added|
| ohos.usb | USBDevicePipe | devAddress: number; | Added|
| ohos.usb | USBDevicePipe | busNum: number; | Added|
| ohos.usb | USBDevice | configs: Array<USBConfig>; | Added|
| ohos.usb | USBDevice | protocol: number; | Added|
| ohos.usb | USBDevice | subClass: number; | Added|
| ohos.usb | USBDevice | clazz: number; | Added|
| ohos.usb | USBDevice | productId: number; | Added|
| ohos.usb | USBDevice | vendorId: number; | Added|
| ohos.usb | USBDevice | version: string; | Added|
| ohos.usb | USBDevice | productName: string; | Added|
| ohos.usb | USBDevice | manufacturerName: string; | Added|
| ohos.usb | USBDevice | name: string; | Added|
| ohos.usb | USBDevice | serial: string; | Added|
| ohos.usb | USBDevice | devAddress: number; | Added|
| ohos.usb | USBDevice | busNum: number; | Added|
| ohos.usb | USBConfig | interfaces: Array<USBInterface>; | Added|
| ohos.usb | USBConfig | isSelfPowered: boolean; | Added|
| ohos.usb | USBConfig | isRemoteWakeup: boolean; | Added|
| ohos.usb | USBConfig | name: string; | Added|
| ohos.usb | USBConfig | maxPower: number; | Added|
| ohos.usb | USBConfig | attributes: number; | Added|
| ohos.usb | USBConfig | id: number; | Added|
| ohos.usb | USBInterface | endpoints: Array<USBEndpoint>; | Added|
| ohos.usb | USBInterface | name: string; | Added|
| ohos.usb | USBInterface | alternateSetting: number; | Added|
| ohos.usb | USBInterface | subClass: number; | Added|
| ohos.usb | USBInterface | clazz: number; | Added|
| ohos.usb | USBInterface | protocol: number; | Added|
| ohos.usb | USBInterface | id: number; | Added|
| ohos.usb | USBEndpoint | interfaceId: number; | Added|
| ohos.usb | USBEndpoint | type: number; | Added|
| ohos.usb | USBEndpoint | number: number; | Added|
| ohos.usb | USBEndpoint | direction: USBRequestDirection; | Added|
| ohos.usb | USBEndpoint | maxPacketSize: number; | Added|
| ohos.usb | USBEndpoint | interval: number; | Added|
| ohos.usb | USBEndpoint | attributes: number; | Added|
| ohos.usb | USBEndpoint | address: number; | Added|
| ohos.usb | usb | function closePipe(pipe: USBDevicePipe): number; | Added|
| ohos.usb | usb | function bulkTransfer(pipe: USBDevicePipe, endpoint: USBEndpoint, buffer: Uint8Array,timeout?: number): Promise<number>; | Added|
| ohos.usb | usb | function controlTransfer(pipe: USBDevicePipe, contrlparam: USBControlParams, timeout?: number): Promise<number>; | Added|
| ohos.usb | usb | function getFileDescriptor(pipe: USBDevicePipe): number; | Added|
| ohos.usb | usb | function getRawDescriptor(pipe: USBDevicePipe): Uint8Array; | Added|
| ohos.usb | usb | function setInterface(pipe: USBDevicePipe, iface: USBInterface): number; | Added|
| ohos.usb | usb | function setConfiguration(pipe: USBDevicePipe, config: USBConfig): number; | Added|
| ohos.usb | usb | function releaseInterface(pipe: USBDevicePipe, iface: USBInterface): number; | Added|
| ohos.usb | usb | function claimInterface(pipe: USBDevicePipe, iface: USBInterface, force?: boolean): number; | Added|
| ohos.usb | usb | function requestRight(deviceName: string): Promise<boolean>; | Added|
| ohos.usb | usb | function hasRight(deviceName: string): boolean; | Added|
| ohos.usb | usb | function connectDevice(device: USBDevice): Readonly<USBDevicePipe>; | Added|
| ohos.usb | usb | function getDevices(): Array<Readonly<USBDevice>>; | Added|
# JS API Changes of the User IAM Subsystem
The table below lists the APIs changes of the user IAM subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.userIAM.userAuth | AuthTrustLevel | ATL4 = 40000 | Added|
| ohos.userIAM.userAuth | AuthTrustLevel | ATL3 = 30000 | Added|
| ohos.userIAM.userAuth | AuthTrustLevel | ATL2 = 20000 | Added|
| ohos.userIAM.userAuth | AuthTrustLevel | ATL1 = 10000 | Added|
| ohos.userIAM.userAuth | UserAuthType | FINGERPRINT = 4 | Added|
| ohos.userIAM.userAuth | UserAuthType | FACE = 2 | Added|
| ohos.userIAM.userAuth | FingerprintTips | FINGERPRINT_AUTH_TIP_TOO_SLOW = 5 | Added|
| ohos.userIAM.userAuth | FingerprintTips | FINGERPRINT_AUTH_TIP_TOO_FAST = 4 | Added|
| ohos.userIAM.userAuth | FingerprintTips | FINGERPRINT_AUTH_TIP_PARTIAL = 3 | Added|
| ohos.userIAM.userAuth | FingerprintTips | FINGERPRINT_AUTH_TIP_INSUFFICIENT = 2 | Added|
| ohos.userIAM.userAuth | FingerprintTips | FINGERPRINT_AUTH_TIP_DIRTY = 1 | Added|
| ohos.userIAM.userAuth | FingerprintTips | FINGERPRINT_AUTH_TIP_GOOD = 0 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_NOT_DETECTED = 11 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_POOR_GAZE = 10 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_MUCH_MOTION = 9 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_LEFT = 8 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_RIGHT = 7 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_LOW = 6 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_HIGH = 5 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_FAR = 4 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_CLOSE = 3 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_DARK = 2 | Added|
| ohos.userIAM.userAuth | FaceTips | FACE_AUTH_TIP_TOO_BRIGHT = 1 | Added|
| ohos.userIAM.userAuth | ResultCode | NOT_ENROLLED = 10 | Added|
| ohos.userIAM.userAuth | ResultCode | LOCKED = 9 | Added|
| ohos.userIAM.userAuth | ResultCode | INVALID_PARAMETERS = 8 | Added|
| ohos.userIAM.userAuth | ResultCode | BUSY = 7 | Added|
| ohos.userIAM.userAuth | ResultCode | TRUST_LEVEL_NOT_SUPPORT = 6 | Added|
| ohos.userIAM.userAuth | ResultCode | TYPE_NOT_SUPPORT = 5 | Added|
| ohos.userIAM.userAuth | ResultCode | TIMEOUT = 4 | Added|
| ohos.userIAM.userAuth | ResultCode | CANCELED = 3 | Added|
| ohos.userIAM.userAuth | ResultCode | GENERAL_ERROR = 2 | Added|
| ohos.userIAM.userAuth | ResultCode | FAIL = 1 | Added|
| ohos.userIAM.userAuth | ResultCode | SUCCESS = 0 | Added|
| ohos.userIAM.userAuth | AuthResult | freezingTime ?: number; | Added|
| ohos.userIAM.userAuth | AuthResult | remainTimes ?: number; | Added|
| ohos.userIAM.userAuth | AuthResult | token ?: Uint8Array; | Added|
| ohos.userIAM.userAuth | IUserAuthCallback | onAcquireInfo ?: (module : number, acquire : number, extraInfo : any) => void; | Added|
| ohos.userIAM.userAuth | IUserAuthCallback | onResult: (result : number, extraInfo : AuthResult) => void; | Added|
| ohos.userIAM.userAuth | UserAuth | cancelAuth(contextID : Uint8Array) : number; | Added|
| ohos.userIAM.userAuth | UserAuth | auth(challenge: Uint8Array, authType: UserAuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array; | Added|
| ohos.userIAM.userAuth | UserAuth | getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel) : number; | Added|
| ohos.userIAM.userAuth | UserAuth | getVersion() : number; | Added|
| ohos.userIAM.userAuth | UserAuth | constructor(); | Added|
| ohos.userIAM.userAuth | userAuth | function getAuthenticator(): Authenticator; | Added|
| ohos.userIAM.userAuth | Authenticator | execute(type: AuthType, level: SecureLevel, callback: AsyncCallback<number>): void;<br>execute(type: AuthType, level: SecureLevel): Promise<number>; | Added|
| ohos.userIAM.userAuth | AuthenticationResult | GENERAL_ERROR = 100 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | NOT_ENROLLED = 8 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | LOCKED = 7 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | INVALID_PARAMETERS = 6 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | BUSY = 5 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | CAMERA_FAIL = 4 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | TIMEOUT = 3 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | CANCELED = 2 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | COMPARE_FAILURE = 1 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | SUCCESS = 0 | Added|
| ohos.userIAM.userAuth | AuthenticationResult | NO_SUPPORT = -1 | Added|
# JS API Diff
For details about the JS API changes in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS, see the following documents of each subsystem:
- [Ability framework](js-apidiff-ability.md)
- [Accessibility subsystem](js-apidiff-accessibility.md)
- [Account subsystem](js-apidiff-account.md)
- [ArkUI development framework](js-apidiff-ace.md)
- [Power management subsystem](js-apidiff-battery.md)
- [Bundle management subsystem](js-apidiff-bundle.md)
- [Communication subsystem](js-apidiff-communicate.md)
- [Multi-language Runtime subsystem](js-apidiff-compiler-and-runtime.md)
- [DFX](js-apidiff-dfx.md)
- [Distributed data management subsystem](js-apidiff-distributed-data.md)
- [Distributed hardware subsystem](js-apidiff-distributed-hardware.md)
- [Common event and notification framework](js-apidiff-event-and-notification.md)
- [File management subsystem](js-apidiff-file-management.md)
- [Location subsystem](js-apidiff-geolocation.md)
- [Globalization subsystem](js-apidiff-global.md)
- [Graphics subsystem](js-apidiff-graphic.md)
- [Misc services subsystem](js-apidiff-misc.md)
- [Multimodal input subsystem](js-apidiff-multi-modal-input.md)
- [Multimedia subsystem](js-apidiff-multimedia.md)
- [Network management subsystem](js-apidiff-network.md)
- [Resource scheduling subsystem](js-apidiff-resource-scheduler.md)
- [Security subsystem](js-apidiff-security.md)
- [Pan-sensor subsystem](js-apidiff-sensor.md)
- [Application framework subsystem](js-apidiff-settings.md)
- [DSoftBus subsystem](js-apidiff-soft-bus.md)
- [Telephony subsystem](js-apidiff-telephony.md)
- [USB subsystem](js-apidiff-usb.md)
- [User IAM subsystem](js-apidiff-user-authentication.md)
- [Window manager subsystem](js-apidiff-window.md)
# JS API Changes of the Window Manager Subsystem
The table below lists the APIs changes of the Window Manager subsystem in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS.
## API Changes
| Module| Class| Method/Attribute/Enumeration/Constant| Change Type|
|---|---|---|---|
| ohos.window | Window | setTouchable(isTouchable: boolean): Promise<void>;<br>setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | setPrivacyMode(isPrivacyMode: boolean): Promise<void>;<br>setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | setOutsideTouchable(touchable: boolean): Promise<void>;<br>setOutsideTouchable(touchable: boolean, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | setKeepScreenOn(isKeepScreenOn: boolean): Promise<void>;<br>setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | setFocusable(isFocusable: boolean): Promise<void>;<br>setFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | setDimBehind(dimBehindValue: number, callback: AsyncCallback<void>): void;<br>setDimBehind(dimBehindValue: number): Promise<void>; | Added|
| ohos.window | Window | setBrightness(brightness: number): Promise<void>;<br>setBrightness(brightness: number, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | setBackgroundColor(color: string): Promise<void>;<br>setBackgroundColor(color: string, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | getColorSpace(): Promise<ColorSpace>;<br>getColorSpace(callback: AsyncCallback<ColorSpace>): void; | Added|
| ohos.window | Window | setColorSpace(colorSpace:ColorSpace): Promise<void>;<br>setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void; | Added|
| ohos.window | Window | isSupportWideGamut(): Promise<boolean>;<br>isSupportWideGamut(callback: AsyncCallback<boolean>): void; | Added|
| ohos.window | Window | off(type: 'keyboardHeightChange', callback?: Callback<number>): void; | Added|
| ohos.window | Window | on(type: 'keyboardHeightChange', callback: Callback<number>): void; | Added|
| ohos.window | Window | off(type: 'systemAvoidAreaChange', callback?: Callback<AvoidArea>): void; | Added|
| ohos.window | Window | on(type: 'systemAvoidAreaChange', callback: Callback<AvoidArea>): void; | Added|
| ohos.window | Window | off(type: 'windowSizeChange', callback?: Callback<Size>): void; | Added|
| ohos.window | Window | on(type: 'windowSizeChange', callback: Callback<Size>): void; | Added|
| ohos.window | Window | isShowing(callback: AsyncCallback<boolean>): void;<br>isShowing(): Promise<boolean>; | Added|
| ohos.window | Window | loadContent(path: string, callback: AsyncCallback<void>): void;<br>loadContent(path: string): Promise<void>; | Added|
| ohos.window | Window | setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void;<br>setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void>; | Added|
| ohos.window | Window | setSystemBarEnable(names: Array<'status'\|'navigation'>, callback: AsyncCallback<void>): void;<br>setSystemBarEnable(names: Array<'status'\|'navigation'>): Promise<void>; | Added|
| ohos.window | Window | setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void;<br>setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void>; | Added|
| ohos.window | Window | setFullScreen(isFullScreen: boolean, callback: AsyncCallback<void>): void;<br>setFullScreen(isFullScreen: boolean): Promise<void>; | Added|
| ohos.window | Window | getAvoidArea(type: AvoidAreaType, callback: AsyncCallback<AvoidArea>): void;<br>getAvoidArea(type: AvoidAreaType): Promise<AvoidArea>; | Added|
| ohos.window | Window | getProperties(callback: AsyncCallback<WindowProperties>): void;<br>getProperties(): Promise<WindowProperties>; | Added|
| ohos.window | Window | destroy(callback: AsyncCallback<void>): void;<br>destroy(): Promise<void>; | Added|
| ohos.window | Window | show(callback: AsyncCallback<void>): void;<br>show(): Promise<void>; | Added|
| ohos.window | window | function find(id: string, callback: AsyncCallback<Window>): void;<br>function find(id: string): Promise<Window>; | Added|
| ohos.window | window | function create(id: string, type: WindowType, callback: AsyncCallback<Window>): void;<br>function create(id: string, type: WindowType): Promise<Window>;<br>function create(ctx: Context, id: string, type: WindowType): Promise<Window>;<br>function create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Window>): void; | Added|
| ohos.window | ColorSpace | WIDE_GAMUT | Added|
| ohos.window | ColorSpace | DEFAULT | Added|
| ohos.window | WindowProperties | isTransparent: boolean | Added|
| ohos.window | WindowProperties | isRoundCorner: boolean | Added|
| ohos.window | WindowProperties | isPrivacyMode: boolean | Added|
| ohos.window | WindowProperties | isKeepScreenOn: boolean | Added|
| ohos.window | WindowProperties | dimBehindValue: number | Added|
| ohos.window | WindowProperties | brightness: number | Added|
| ohos.window | WindowProperties | touchable: boolean | Added|
| ohos.window | WindowProperties | focusable: boolean | Added|
| ohos.window | WindowProperties | isLayoutFullScreen: boolean | Added|
| ohos.window | WindowProperties | isFullScreen: boolean | Added|
| ohos.window | WindowProperties | type: WindowType; | Added|
| ohos.window | WindowProperties | windowRect: Rect; | Added|
| ohos.window | Size | height: number; | Added|
| ohos.window | Size | width: number; | Added|
| ohos.window | AvoidArea | bottomRect: Rect; | Added|
| ohos.window | AvoidArea | rightRect: Rect; | Added|
| ohos.window | AvoidArea | topRect: Rect; | Added|
| ohos.window | AvoidArea | leftRect: Rect; | Added|
| ohos.window | Rect | height: number; | Added|
| ohos.window | Rect | width: number; | Added|
| ohos.window | Rect | top: number; | Added|
| ohos.window | Rect | left: number; | Added|
| ohos.window | SystemBarProperties | navigationBarContentColor?: string; | Added|
| ohos.window | SystemBarProperties | isNavigationBarLightIcon?: boolean; | Added|
| ohos.window | SystemBarProperties | navigationBarColor?: string; | Added|
| ohos.window | SystemBarProperties | statusBarContentColor?: string; | Added|
| ohos.window | SystemBarProperties | isStatusBarLightIcon?: boolean; | Added|
| ohos.window | SystemBarProperties | statusBarColor?: string; | Added|
| ohos.window | AvoidAreaType | TYPE_CUTOUT | Added|
| ohos.window | AvoidAreaType | TYPE_SYSTEM | Added|
| ohos.display | Display | yDPI: number; | Added|
| ohos.display | Display | xDPI: number; | Added|
| ohos.display | Display | scaledDensity: number; | Added|
| ohos.display | Display | densityPixels: number; | Added|
| ohos.display | Display | densityDPI: number; | Added|
| ohos.display | Display | height: number; | Added|
| ohos.display | Display | width: number; | Added|
| ohos.display | Display | rotation: number; | Added|
| ohos.display | Display | refreshRate: number; | Added|
| ohos.display | Display | state: DisplayState; | Added|
| ohos.display | Display | alive: boolean; | Added|
| ohos.display | Display | name: string; | Added|
| ohos.display | Display | id: number; | Added|
| ohos.display | DisplayState | STATE_ON_SUSPEND | Added|
| ohos.display | DisplayState | STATE_VR | Added|
| ohos.display | DisplayState | STATE_DOZE_SUSPEND | Added|
| ohos.display | DisplayState | STATE_DOZE | Added|
| ohos.display | DisplayState | STATE_ON | Added|
| ohos.display | DisplayState | STATE_OFF | Added|
| ohos.display | DisplayState | STATE_UNKNOWN = 0 | Added|
| ohos.display | display | function off(type: 'add' \| 'remove' \| 'change', callback?: Callback<number>): void; | Added|
| ohos.display | display | function off(type: 'add' \| 'remove' \| 'change', callback?: Callback<number>): void; | Added|
| ohos.display | display | function off(type: 'add' \| 'remove' \| 'change', callback?: Callback<number>): void; | Added|
| ohos.display | display | function on(type: 'add' \| 'remove' \| 'change', callback: Callback<number>): void; | Added|
| ohos.display | display | function on(type: 'add' \| 'remove' \| 'change', callback: Callback<number>): void; | Added|
| ohos.display | display | function on(type: 'add' \| 'remove' \| 'change', callback: Callback<number>): void; | Added|
| ohos.display | display | function getAllDisplay(callback: AsyncCallback<Array<Display>>): void;<br>function getAllDisplay(): Promise<Array<Display>>; | Added|
| ohos.display | display | function getDefaultDisplay(callback: AsyncCallback<Display>): void;<br>function getDefaultDisplay(): Promise<Display>; | Added|
# Native API Differences
This document describes the changes of APIs in OpenHarmony 3.1 Release when compared with OpenHarmony 3.0 LTS.
## Standard System API Changes
| Module| API | Change Type| Change Description |
| -------- | ------------------------------------------------------------ | -------- | ----------------------------------------------- |
| Graphics - drawing| OH_Drawing_FontCollection* OH_Drawing_CreateFontCollection(void) | Added | Added the API for creating an **OH_Drawing_FontCollection** object. |
| Graphics - drawing| void OH_Drawing_DestroyFontCollection(OH_Drawing_FontCollection*) | Added | Added the API for releasing the memory occupied by an **OH_Drawing_FontCollection** object. |
| Graphics - drawing | OH_Drawing_TypographyStyle* OH_Drawing_CreateTypographyStyle(void) | Added | Added the API for creating an **OH_Drawing_TypographyStyle** object. |
| Graphics - drawing | void OH_Drawing_DestroyTypographyStyle(OH_Drawing_TypographyStyle*) | Added | Added the API for releasing the memory occupied by an **OH_Drawing_TypographyStyle** object. |
| Graphics - drawing | void OH_Drawing_SetTypographyTextDirection(OH_Drawing_TypographyStyle*, int /* OH_Drawing_TextDirection */) | Added | Added the API for setting the text direction. |
| Graphics - drawing | void OH_Drawing_SetTypographyTextAlign(OH_Drawing_TypographyStyle*, int /* OH_Drawing_TextAlign */) | Added | Added the API for setting the text alignment mode. |
| Graphics - drawing | void OH_Drawing_SetTypographyTextMaxLines(OH_Drawing_TypographyStyle*, int /* maxLines */) | Added | Added the API for setting the maximum number of lines in the text. |
| Graphics - drawing | OH_Drawing_TextStyle* OH_Drawing_CreateTextStyle(void) | Added | Added the API for creating an **OH_Drawing_TextStyle** object. |
| Graphics - drawing | void OH_Drawing_DestroyTextStyle(OH_Drawing_TextStyle*) | Added | Added the API for releasing the memory occupied by an **OH_Drawing_TextStyle** object. |
| Graphics - drawing | void OH_Drawing_SetTextStyleColor(OH_Drawing_TextStyle*, uint32_t /* color */) | Added | Added the API for setting the text color. |
| Graphics - drawing | void OH_Drawing_SetTextStyleFontSize(OH_Drawing_TextStyle*, double /* fontSize */); | Added | Added the API for setting the font size. |
| Graphics - drawing | void OH_Drawing_SetTextStyleFontWeight(OH_Drawing_TextStyle*, int /* OH_Drawing_FontWeight */) | Added | Added the API for setting the font weight. |
| Graphics - drawing | void OH_Drawing_SetTextStyleBaseLine(OH_Drawing_TextStyle*, int /* OH_Drawing_TextBaseline */) | Added | Added the API for setting the text baseline. |
| Graphics - drawing | void OH_Drawing_SetTextStyleDecoration(OH_Drawing_TextStyle*, int /* OH_Drawing_TextDecoration */) | Added | Added the API for setting the text decoration. |
| Graphics - drawing | void OH_Drawing_SetTextStyleDecorationColor(OH_Drawing_TextStyle*, uint32_t /* color */) | Added | Added the API for setting the color for the text decoration. |
| Graphics - drawing | void OH_Drawing_SetTextStyleFontHeight(OH_Drawing_TextStyle*, double /* fontHeight */) | Added | Added the API for setting the font height. |
| Graphics - drawing | void OH_Drawing_SetTextStyleFontFamilies(OH_Drawing_TextStyle*,int /* fontFamiliesNumber \*/, const char* fontFamilies[]); | Added | Added the API for setting the font families. |
| Graphics - drawing | void OH_Drawing_SetTextStyleFontStyle(OH_Drawing_TextStyle*, int /* OH_Drawing_FontStyle */) | Added | Added the API for setting the font style. |
| Graphics - drawing | void OH_Drawing_SetTextStyleLocale(OH_Drawing_TextStyle*, const char*) | Added | Added the API for setting the locale. |
| Graphics - drawing | OH_Drawing_TypographyCreate* OH_Drawing_CreateTypographyHandler(OH_Drawing_TypographyStyle*, OH_Drawing_FontCollection*) | Added | Added the API for creating a pointer to an **OH_Drawing_TypographyCreate** object. |
| Graphics - drawing | void OH_Drawing_DestroyTypographyHandler(OH_Drawing_TypographyCreate*) | Added | Added the API for releasing the memory occupied by an **OH_Drawing_TypographyCreate** object.|
| Graphics - drawing | void OH_Drawing_TypographyHandlerPushTextStyle(OH_Drawing_TypographyCreate*, OH_Drawing_TextStyle*) | Added | Added the API for setting the text style. |
| Graphics - drawing | void OH_Drawing_TypographyHandlerAddText(OH_Drawing_TypographyCreate*, const char*) | Added | Added the API for setting the text content. |
| Graphics - drawing | void OH_Drawing_TypographyHandlerPopTextStyle(OH_Drawing_TypographyCreate*) | Added | Added the API for removing the topmost style in the stack, leaving the remaining styles in effect. |
| Graphics - drawing | OH_Drawing_Typography* OH_Drawing_CreateTypography(OH_Drawing_TypographyCreate*) | Added | Added the API for creating an **OH_Drawing_Typography** object. |
| Graphics - drawing | void OH_Drawing_DestroyTypography(OH_Drawing_Typography*) | Added | Added the API for releasing the memory occupied by an **OH_Drawing_Typography** object. |
| Graphics - drawing | void OH_Drawing_TypographyLayout(OH_Drawing_Typography*, double /* maxWidth */) | Added | Added the API for laying out the typography. |
| Graphics - drawing | void OH_Drawing_TypographyPaint(OH_Drawing_Typography*, OH_Drawing_Canvas*, double /* potisionX */, double /\* potisionY */) | Added | Added the API for painting text on the canvas. |
| Graphics - drawing |OH_Drawing_Bitmap* OH_Drawing_BitmapCreate(void)|Added|Added the API for creating an **OH_Drawing_Bitmap** object.|
| Graphics - drawing |void OH_Drawing_BitmapDestroy(OH_Drawing_Bitmap*)|Added|Added the API for destroying an **OH_Drawing_Bitmap** object and reclaiming the memory occupied by the object.|
| Graphics - drawing |void OH_Drawing_BitmapBuild(OH_Drawing_Bitmap*, const uint32_t width, const uint32_t height, const OH_Drawing_BitmapFormat*)|Added|Added the API for initializing the width and height of an **OH_Drawing_Bitmap** object and setting the pixel format for the bitmap.|
| Graphics - drawing |uint32_t OH_Drawing_BitmapGetWidth(OH_Drawing_Bitmap*)|Added|Added the API for obtaining the width of a bitmap.|
| Graphics - drawing |uint32_t OH_Drawing_BitmapGetHeight(OH_Drawing_Bitmap*)|Added|Added the API for obtaining the height of a bitmap.|
| Graphics - drawing |void* OH_Drawing_BitmapGetPixels(OH_Drawing_Bitmap*)|Added|Added the API for obtaining the pixel address of a bitmap. You can use this address to obtain the pixel data of the bitmap.|
| Graphics - drawing |OH_Drawing_Brush* OH_Drawing_BrushCreate(void)|Added|Added the API for creating an **OH_Drawing_Brush** object.|
| Graphics - drawing |void OH_Drawing_BrushDestroy(OH_Drawing_Brush*)|Added|Added the API for destroying an **OH_Drawing_Brush** object and reclaiming the memory occupied by the object.|
| Graphics - drawing |bool OH_Drawing_BrushIsAntiAlias(const OH_Drawing_Brush*)|Added|Added the API for checking whether anti-aliasing is enabled for a brush. If anti-aliasing is enabled, edges will be drawn with partial transparency.|
| Graphics - drawing |void OH_Drawing_BrushSetAntiAlias(OH_Drawing_Brush*, bool)|Added|Added the API for enabling or disabling anti-aliasing for a brush. If anti-aliasing is enabled, edges will be drawn with partial transparency.|
| Graphics - drawing |uint32_t OH_Drawing_BrushGetColor(const OH_Drawing_Brush*)|Added|Added the API for obtaining the color of a brush. The color is used by the brush to fill in a shape.|
| Graphics - drawing |void OH_Drawing_BrushSetColor(OH_Drawing_Brush*, uint32_t color)|Added|Added the API for setting the color for a brush. The color will be used by the brush to fill in a shape.|
| Graphics - drawing |OH_Drawing_Canvas* OH_Drawing_CanvasCreate(void)|Added|Added the API for creating an **OH_Drawing_Canvas** object.|
| Graphics - drawing |void OH_Drawing_CanvasDestroy(OH_Drawing_Canvas*)|Added|Added the API for destroying an **OH_Drawing_Canvas** object and reclaiming the memory occupied by the object.|
| Graphics - drawing |void OH_Drawing_CanvasBind(OH_Drawing_Canvas*, OH_Drawing_Bitmap*)|Added|Added the API for binding a bitmap to a canvas so that the content drawn on the canvas is output to the bitmap (this process is called CPU rendering).|
| Graphics - drawing |void OH_Drawing_CanvasAttachPen(OH_Drawing_Canvas*, const OH_Drawing_Pen*)|Added|Added the API for attaching a pen to a canvas so that the canvas will use the style and color of the pen to outline a shape.|
| Graphics - drawing |void OH_Drawing_CanvasDetachPen(OH_Drawing_Canvas*)|Added|Added the API for detaching the pen from a canvas so that the canvas will not use the style and color of the pen to outline a shape.|
| Graphics - drawing |void OH_Drawing_CanvasAttachBrush(OH_Drawing_Canvas*, const OH_Drawing_Brush*)|Added|Added the API for attaching a brush to a canvas so that the canvas will use the style and color of the brush to fill in a shape.|
| Graphics - drawing |void OH_Drawing_CanvasDetachBrush(OH_Drawing_Canvas*)|Added|Added the API for detaching the brush from a canvas so that the canvas will not use the style and color of the brush to fill in a shape.|
| Graphics - drawing |void OH_Drawing_CanvasSave(OH_Drawing_Canvas*)|Added|Added the API for saving the current canvas status (canvas matrix) to the top of the stack.|
| Graphics - drawing |void OH_Drawing_CanvasRestore(OH_Drawing_Canvas*)|Added|Added the API for restoring the canvas status (canvas matrix) saved on the top of the stack.|
| Graphics - drawing |void OH_Drawing_CanvasDrawLine(OH_Drawing_Canvas*, float x1, float y1, float x2, float y2)|Added|Added the API for drawing a line segment.|
| Graphics - drawing |void OH_Drawing_CanvasDrawPath(OH_Drawing_Canvas*, const OH_Drawing_Path*)|Added|Added the API for drawing a path.|
| Graphics - drawing |void OH_Drawing_CanvasClear(OH_Drawing_Canvas*, uint32_t color)|Added|Added the API for clearing a canvas by using a specified color.|
| Graphics - drawing |uint32_t OH_Drawing_ColorSetArgb(uint32_t alpha, uint32_t red, uint32_t green, uint32_t blue)|Added|Added the API for converting four variables (alpha, red, green, and blue) into a 32-bit (ARGB) variable that describes a color.|
| Graphics - drawing |OH_Drawing_Path* OH_Drawing_PathCreate(void)|Added|Added the API for creating an **OH_Drawing_Path** object.|
| Graphics - drawing |void OH_Drawing_PathDestroy(OH_Drawing_Path*)|Added|Added the API for destroying an **OH_Drawing_Path** object and reclaiming the memory occupied by the object.|
| Graphics - drawing |void OH_Drawing_PathMoveTo(OH_Drawing_Path*, float x, float y)|Added|Added the API for setting the start point of a path.|
| Graphics - drawing |void OH_Drawing_PathLineTo(OH_Drawing_Path*, float x, float y)|Added|Added the API for drawing a line segment from the last point of a path to the target point.|
| Graphics - drawing |void OH_Drawing_PathArcTo(OH_Drawing_Path*, float x1, float y1, float x2, float y2, float startDeg, float sweepDeg)|Added|Added the API for drawing an arc to a path. This is done by using angle arc mode. In this mode, a rectangle that encloses an ellipse is specified first, and then a start angle and a sweep angle are specified. The arc is a portion of the ellipse defined by the start angle and the sweep angle. By default, a line segment from the last point of the path to the start point of the arc is also added.|
| Graphics - drawing |void OH_Drawing_PathQuadTo(OH_Drawing_Path*, float ctrlX, float ctrlY, float endX, float endY)|Added|Added the API for drawing a quadratic Bezier curve from the last point of a path to the target point.|
| Graphics - drawing |void OH_Drawing_PathCubicTo(OH_Drawing_Path*, float ctrlX1, float ctrlY1, float ctrlX2, float ctrlY2, float endX, float endY)|Added|Added the API for drawing a cubic Bezier curve from the last point of a path to the target point.|
| Graphics - drawing |void OH_Drawing_PathClose(OH_Drawing_Path*)|Added|Added the API for closing a path. A line segment from the start point to the last point of the path is added.|
| Graphics - drawing |void OH_Drawing_PathReset(OH_Drawing_Path*)|Added|Added the API for resetting path data.|
| Graphics - drawing |OH_Drawing_Pen* OH_Drawing_PenCreate(void)|Added|Added the API for creating an **OH_Drawing_Pen** object.|
| Graphics - drawing |void OH_Drawing_PenDestroy(OH_Drawing_Pen*)|Added|Added the API for destroying an **OH_Drawing_Pen** object and reclaiming the memory occupied by the object.|
| Graphics - drawing |bool OH_Drawing_PenIsAntiAlias(const OH_Drawing_Pen*)|Added|Added the API for checking whether anti-aliasing is enabled for a pen. If anti-aliasing is enabled, edges will be drawn with partial transparency.|
| Graphics - drawing |void OH_Drawing_PenSetAntiAlias(OH_Drawing_Pen*, bool)|Added|Added the API for enabling or disabling anti-aliasing for a pen. If anti-aliasing is enabled, edges will be drawn with partial transparency.|
| Graphics - drawing |uint32_t OH_Drawing_PenGetColor(const OH_Drawing_Pen*)|Added|Added the API for obtaining the color of a pen. The color is used by the pen to outline a shape.|
| Graphics - drawing |void OH_Drawing_PenSetColor(OH_Drawing_Pen*, uint32_t color)|Added|Added the API for setting the color for a pen. The color is used by the pen to outline a shape.|
| Graphics - drawing |float OH_Drawing_PenGetWidth(const OH_Drawing_Pen*)|Added|Added the API for obtaining the thickness of a pen. This thickness determines the width of the outline of a shape.|
| Graphics - drawing |void OH_Drawing_PenSetWidth(OH_Drawing_Pen*, float width)|Added|Added the API for setting the thickness for a pen. This thickness determines the width of the outline of a shape.|
| Graphics - drawing |float OH_Drawing_PenGetMiterLimit(const OH_Drawing_Pen*)|Added|Added the API for obtaining the stroke miter limit of a polyline drawn by a pen. When the corner type is bevel, a beveled corner is displayed if the miter limit is exceeded, and a mitered corner is displayed if the miter limit is not exceeded.|
| Graphics - drawing |void OH_Drawing_PenSetMiterLimit(OH_Drawing_Pen*, float miter)|Added|Added the API for setting the stroke miter limit for a polyline drawn by a pen. When the corner type is bevel, a beveled corner is displayed if the miter limit is exceeded, and a mitered corner is displayed if the miter limit is not exceeded.|
| Graphics - drawing |OH_Drawing_PenLineCapStyle OH_Drawing_PenGetCap(const OH_Drawing_Pen*)|Added|Added the API for obtaining the line cap style of a pen.|
| Graphics - drawing |void OH_Drawing_PenSetCap(OH_Drawing_Pen*, OH_Drawing_PenLineCapStyle)|Added|Added the API for setting the line cap style for a pen.|
| Graphics - drawing |OH_Drawing_PenLineJoinStyle OH_Drawing_PenGetJoin(const OH_Drawing_Pen*)|Added|Added the API for obtaining the line join style of a pen.|
| Graphics - drawing |void OH_Drawing_PenSetJoin(OH_Drawing_Pen*, OH_Drawing_PenLineJoinStyle)|Added|Added the API for setting the line join style for a pen.|
| Graphics - NativeWindow | struct NativeWindow* OH_NativeWindow_CreateNativeWindow(void* pSurface) | Added| Added the API for creating a **NativeWindow** instance.|
| Graphics - NativeWindow | void OH_NativeWindow_DestroyNativeWindow(struct NativeWindow* window) | Added| Added the API for decreasing the reference count of a **NativeWindow** instance by 1 and, when the reference count reaches 0, destroying the instance.|
| Graphics - NativeWindow | struct NativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer(void* pSurfaceBuffer) | Added| Added the API for creating a **NativeWindowBuffer** instance.|
| Graphics - NativeWindow | void OH_NativeWindow_DestroyNativeWindowBuffer(struct NativeWindowBuffer* buffer) | Added| Added the API for decreasing the reference count of a **NativeWindowBuffer** instance by 1 and, when the reference count reaches 0, destroying the instance.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_NativeWindowRequestBuffer(struct NativeWindow *window, struct NativeWindowBuffer **buffer, int *fenceFd) | Added| Added the API for requesting a **NativeWindowBuffer** through a **NativeWindow** instance for content production.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_NativeWindowFlushBuffer(struct NativeWindow *window, struct NativeWindowBuffer *buffer, int fenceFd, Region region) | Added| Added the API for flushing the **NativeWindowBuffer** filled with the content to the buffer queue through a **NativeWindow** instance for content consumption.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_NativeWindowAbortBuffer(struct NativeWindow *window, struct NativeWindowBuffer *buffer) | Added| Added the API for returning the **NativeWindowBuffer** to the buffer queue through a **NativeWindow** instance, without filling in any content. The **NativeWindowBuffer** can be used for another request.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_NativeWindowHandleOpt(struct NativeWindow *window, int code, ...) | Added| Added the API for setting and obtaining the attributes of a native window, including the width, height, and content format.|
| Graphics - NativeWindow | BufferHandle *OH_NativeWindow_GetBufferHandleFromNative(struct NativeWindowBuffer *buffer) | Added| Added the API for obtaining the pointer to a **BufferHandle** of a **NativeWindowBuffer** instance.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_NativeObjectReference(void *obj) | Added| Added the API for adding the reference count of a native object.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_NativeObjectUnreference(void *obj) | Added| Added the API for decreasing the reference count of a native object and, when the reference count reaches 0, destroying this object.|
| Graphics - NativeWindow | int32_t OH_NativeWindow_GetNativeObjectMagic(void *obj) | Added| Added the API for obtaining the magic ID of a native object.|
| DFX - HiLog | LOG_DOMAIN | Added | Added this hexadecimal integer macro to identify the service domain of a log file. |
| DFX - HiLog | LOG_TAG | Added | Added this string macro to identify the class or service behavior. |
| DFX - HiLog | LOG_APP | Added | Added this enumeration to identify the log type. |
| DFX - HiLog | LOG_DEBUG | Added | Added this enumeration to identify the DEBUG log level. |
| DFX - HiLog | LOG_INFO | Added | Added this enumeration to identify the INFO log level. |
| DFX - HiLog | LOG_WARN | Added | Added this enumeration to identify the WARN log level. |
| DFX - HiLog | LOG_ERROR | Added | Added this enumeration to identify the ERROR log level. |
| DFX - HiLog | LOG_FATAL | Added | Added this enumeration to identify the FATAL log level. |
| DFX - HiLog | bool OH_LOG_IsLoggable(unsigned int domain, const char *tag, LogLevel level) | Added | Added the API for checking whether logs of the specified service domain, tag, and level can be printed.|
| DFX - HiLog | int OH_LOG_Print(LogType type, LogLevel level, unsigned int domain, const char *tag, const char *fmt, ...) | Added | Added the API for outputting logs. |
| DFX - HiLog | OH_LOG_DEBUG(type, ...) | Added | Added this function-like macro for outputting DEBUG logs. |
| DFX - HiLog | OH_LOG_INFO(type, ...) | Added | Added this function-like macro for outputting INFO logs. |
| DFX - HiLog | OH_LOG_WARN(type, ...) | Added | Added this function-like macro for outputting WARN logs. |
| DFX - HiLog | OH_LOG_ERROR(type, ...) | Added | Added this function-like macro for outputting ERROR logs. |
| DFX - HiLog | OH_LOG_FATAL(type, ...) | Added | Added this function-like macro for outputting FATAL logs. |
| zlib | ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));<br>ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf, z_size_t len)); | Added | Added the APIs for updating an Adler-32 checksum from the buffer. |
| zlib | ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); <br>ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); | Added | Added the APIs for combining two Adler-32 checksums into one. |
| zlib | ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen, int level));<br>ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen)); | Added | Added the APIs for compressing the source buffer into the destination buffer. |
| zlib | ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); | Added | Added the API for returning the upper limit of a buffer to hold the compressed data. This API must be called to determine the size of the buffer to allocate before **compress2** or **compress** is called.|
| zlib | ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));<br>ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf, z_size_t len)); | Added | Added the APIs for updating a CRC-32 checksum from the buffer. |
| zlib | ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));<br>ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); | Added | Added the APIs for combines two CRC-32 checksums into one. |
| zlib | ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); | Added | Added the API for compression. |
| zlib | ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, uLong sourceLen)); | Added | Added the API for returning the upper limit of a buffer to hold the compressed data. This API must be called to determine the size of the buffer to allocate before **deflateInit** or **deflateInit2** is called.|
| zlib | ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, z_streamp source)); | Added | Added the API for setting the destination stream as a complete copy of the source stream. |
| zlib | ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); | Added | Added the API for freeing up space after the compression is complete. |
| zlib | ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm, Bytef *dictionary, uInt *dictLength)); | Added | Added the API for obtaining the sliding dictionary maintained by **deflate**. |
| zlib | ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, const char *version, int stream_size));<br>ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, int windowBits, int memLevel, int strategy, const char *version, int stream_size)); | Added | Added the APIs for **deflate** initialization. |
| zlib | ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, int level, int strategy)); | Added | Added the API for dynamically updating the compression level and compression strategy. |
| zlib | ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm, unsigned *pending, int *bits)); | Added | Added the API for returning the number of bytes and bits of output that has been generated but not yet provided in the available output. |
| zlib | ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, int bits, int value)); | Added | Added the APIs for inserting bits in the **deflate** output stream. |
| zlib | ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); | Added | Added this API, which is equivalent to **deflateEnd** followed by **deflateInit**, but does not free or reallocate the internal compression state.|
| zlib | ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, const Bytef *dictionary, uInt dictLength)); | Added | Added the API for initializing the compression dictionary from a given sequence of bytes without producing any compression output. |
| zlib | ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, gz_headerp head)); | Added | Added the API for providing the gzip header information when a gzip stream is requested by **delateInit2()**.|
| zlib | ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, int good_length, int max_lazy, int nice_length, int max_chain)); | Added | Added the API for fine-tuning the internal compression parameters of **deflate**. |
| zlib | ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); | Added | Added the API for setting the size of the internal buffer used by this library's functions. The default buffer size is 8192 bytes. |
| zlib | ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); | Added | Added the API for clearing the error and end-of-file flags for a file. |
| zlib | ZEXTERN int ZEXPORT gzclose OF((gzFile file));<br>ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));<br>ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); | Added | Added the APIs for flushing all pending output, closing the compressed file, and deallocating the compression state. |
| zlib | ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); | Added | Added the API for returning **true** (1) if the file is being copied directly while reading, and returning **false** (0) if the file is a gzip stream being decompressed.|
| zlib | ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); | Added | Added the API for associating a **gzFile** with a file descriptor. File descriptors are obtained from calls such as **open**, **dup**, **create**, **pipe**, or **fileno** (in the file that has been opened using **fopen**). The **mode** parameter is the same as that in **gzopen**.|
| zlib | ZEXTERN int ZEXPORT gzeof OF((gzFile file)); | Added | Added the API for returning **true** (1) if the end-of-file indicator has been set while reading, and returning **false** (0) otherwise.|
| zlib | ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); | Added | Added the API for returning the error message for the last error that occurred on a given compressed file. |
| zlib | ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); | Added | Added the API for flushing all pending output into a compressed file. |
| zlib | ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems, gzFile file)); | Added | Added the API for reading a given number of bytes from a compressed file to the buffer. |
| zlib | ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size, z_size_t nitems, gzFile file)); | Added | Added the API for writing a given number of bytes from the buffer to a compressed file, duplicating the interface of stdio's **fwrite()**, with **size_t** request and return types.|
| zlib | ZEXTERN int ZEXPORT gzgetc OF((gzFile file));<br>ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); | Added | Added the APIs for reading a byte from a compressed file. |
| zlib | ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); | Added | Added the API for reading bytes from a compressed file until **len-1** characters are read, a newline character is read and transferred to a buffer, or an end-of-file condition is encountered.|
| zlib | ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));<br>ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); | Added | Added the APIs for returning the current offset in the file being read or written. |
| zlib | ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));<br>ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); | Added | Added the APIs for opening a gzip (.gz) file for reading or writing. |
| zlib | ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); | Added | Added the API for converting, formatting, and writing the parameters to a compressed file under the control of the **format** string. |
| zlib | ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));<br>ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); | Added | Added the APIs for writing **c**, which is converted to an unsigned character, into a compressed file. **gzputc** returns the written value or **-1** in the case of an error.|
| zlib | ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); | Added | Added the API for reading a given number of uncompressed bytes from a compressed file. |
| zlib | ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); | Added | Added the API for rewinding a file. |
| zlib | ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));<br>ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); | Added | Added the APIs for setting the start position for the next **gzread** or **gzwrite** operation of a given compressed file. |
| zlib | ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); | Added | Added the API for dynamically updating the compression level or strategy. |
| zlib | ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));<br>ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); | Added | Added the API for returning the start position of the next **gzread** or **gzwrite** operation of a given compressed file. |
| zlib | ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); | Added | Added the API for pushing a character back to the stream to be read again. |
| zlib | ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len)); | Added | Added the API for writing a given number of uncompressed bytes to a compressed file. |
| zlib | ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); | Added | Added an API for decompressing as much data as possible and stopping when the input buffer becomes empty or the output buffer becomes full.|
| zlib | ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc));<br>ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));<br>ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, unsigned char FAR *window, const char *version, int stream_size)); | Added | Added the callback APIs for decompression. |
| zlib | ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, z_streamp source)); | Added | Added the API for setting the destination stream as a complete copy of the source stream. |
| zlib | ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); | Added | Added the API for freeing up all dynamically allocated data structures of this stream. |
| zlib | ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm, Bytef *dictionary, uInt *dictLength)); | Added | Added the API for obtaining the sliding dictionary maintained by **inflate**. |
| zlib | ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, gz_headerp head)); | Added | Added the API for storing the gzip header information in the provided **gz_header** structure. |
| zlib | ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, const char *version, int stream_size));<br _>/ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, const char *version, int stream_size)); | Added | Added the APIs for decompression initialization. |
| zlib | ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm)); | Added | Added the API for returning two values. One is in the lower 16 bits of the return value, and the other is in the remaining upper bits, obtained by shifting the return value down by 16 bits.|
| zlib | ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, int bits, int value)); | Added | Added the API for inserting bits into the **inflate** input stream. |
| zlib | ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));<br>ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm, int windowBits)); | Added | Added these APIs, which are equivalent to **inflateEnd** followed by **inflateInit**, but do not free or reallocate the internal decompression state. The stream will retain attributes that may have been set by **inflateInit2**.|
| zlib | ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, const Bytef *dictionary, uInt dictLength)); | Added | Added the API for initializing the decompression dictionary from a given uncompressed byte sequence. |
| zlib | ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); | Added | Added the API for skipping invalid compressed data until a possible full flush point is found, or until all available input is skipped. There is no output.|
| zlib | ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen));<br>ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen, const Bytef *source, uLong *sourceLen)); | Added | Added the APIs for decompressing the source buffer into the destination buffer. **sourceLen** indicates the byte length of the source buffer. |
| zlib | ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); | Added | Added the API for returning flags indicating compile-time options. |
| zlib | ZEXTERN const char * ZEXPORT zlibVersion OF((void)); | Added | Added the API for returning the zlib version. |
| Globalization - resmgr | NativeResourceManager *OH_ResourceManager_InitNativeResourceManager(napi_env env, napi_value jsResMgr) | Added | Added the API for initializing the native resource manager. |
| Globalization - resmgr | void OH_ResourceManager_ReleaseNativeResourceManager(NativeResourceManager *resMgr) | Added | Added the API for releasing the native resource manager. |
| Globalization - resmgr | RawDir *OH_ResourceManager_OpenRawDir(const NativeResourceManager *mgr, const char *dirName) | Added | Added the API for opening a raw file directory. |
| Globalization - resmgr | RawFile *OH_ResourceManager_OpenRawFile(const NativeResourceManager *mgr, const char *fileName) | Added | Added the API for opening a raw file. |
| Globalization - resmgr | const char *OH_ResourceManager_GetRawFileName(RawDir *rawDir, int index) | Added | Added the API for obtaining a raw file name. |
| Globalization - resmgr | int OH_ResourceManager_GetRawFileCount(RawDir *rawDir) | Added | Added the API for obtaining the number of raw files in a raw file directory.|
| Globalization - resmgr | void OH_ResourceManager_CloseRawDir(RawDir *rawDir) | Added | Added the API for releasing the resources related to a raw file directory. |
| Globalization - resmgr | int OH_ResourceManager_ReadRawFile(const RawFile *rawFile, void *buf, size_t length) | Added | Added the API for reading a raw file. |
| Globalization - resmgr | int OH_ResourceManager_SeekRawFile(const RawFile *rawFile, long offset, int whence) | Added | Added the API for querying data in a raw file based on a given offset. |
| Globalization - resmgr | long OH_ResourceManager_GetRawFileSize(RawFile *rawFile) | Added | Added the API for obtaining the size of a raw file. |
| Globalization - resmgr | void OH_ResourceManager_CloseRawFile(RawFile *rawFile) | Added | Added the API for releasing the resources related to a raw file. |
| Globalization - resmgr | long OH_ResourceManager_GetRawFileOffset(const RawFile *rawFile) | Added | Added the API for obtaining the offset of a raw file. |
| Globalization - resmgr | bool OH_ResourceManager_GetRawFileDescriptor(const RawFile *rawFile, RawFileDescriptor &descriptor) | Added | Added the API for obtaining the file descriptor of a raw file. |
| Globalization - resmgr | bool OH_ResourceManager_ReleaseRawFileDescriptor(const RawFileDescriptor &descriptor) | Added | Added the API for releasing the file descriptor of a raw file. |
| Media - Multimedia | OH_GetImageInfo | Added | Added the API for obtaining image information based on the pixel address. |
| Media - Multimedia | OH_AccessPixels | Added | Added the API for locking the address of a given pixel. |
| Media - Multimedia | OH_UnAccessPixels | Added | Added the API for unlocking the address of a given pixel. |
| Media - audio_standard| SL_API SLresult SLAPIENTRY slCreateEngine(<br> SLObjectItf *pEngine,<br> SLuint32 numOptions,<br> const SLEngineOption *pEngineOptions,<br> SLuint32 numInterfaces,<br> const SLInterfaceID *pInterfaceIds,<br> const SLboolean * pInterfaceRequired<br>); | Added | Added the API for creating a **Engine** object. |
| Media - audio_standard| SLObjectItf_<br>SLresult (*Realize) (<br> SLObjectItf self,<br> SLboolean async<br> ); | Added | Added the API for initializing an object. |
| Media - audio_standard| SLObjectItf_<br>SLresult (*Resume) (<br> SLObjectItf self,<br> SLboolean async<br> ); | Added | Added the API for resuming an object. |
| Media - audio_standard| SLObjectItf_<br>SLresult (*GetState) (<br> SLObjectItf self,<br> SLuint32 * pState<br> ); | Added | Added the API for obtaining the object state. |
| Media - audio_standard| SLObjectItf_<br>SLresult (*GetInterface) (<br> SLObjectItf self,<br> const SLInterfaceID iid,<br> void * pInterface<br> ); | Added | Added the API for obtaining an object based on the interface ID.|
| Media - audio_standard| SLObjectItf_<br>SLresult (*RegisterCallback) (<br> SLObjectItf self,<br> slObjectCallback callback,<br> void * pContext<br> ); | Added | Added the API for registering a callback. |
| Media - audio_standard| SLObjectItf_<br>void (*Destroy) (<br> SLObjectItf self<br> ); | Added | Added the API for destroying an object. |
| Media - audio_standard| SLresult (*CreateAudioPlayer) (<br> SLEngineItf self,<br> SLObjectItf * pPlayer,<br> SLDataSource *pAudioSrc,<br> SLDataSink *pAudioSnk,<br> SLuint32 numInterfaces,<br> const SLInterfaceID * pInterfaceIds,<br> const SLboolean * pInterfaceRequired<br> ); | Added | Added the API for creating an **AudioPlayer** object. |
| Media - audio_standard| SLresult (*CreateOutputMix) (<br> SLEngineItf self,<br> SLObjectItf * pMix,<br> SLuint32 numInterfaces,<br> const SLInterfaceID * pInterfaceIds,<br> const SLboolean * pInterfaceRequired<br> ); | Added | Added the API for creating an **OutputMix** object. |
| Media - audio_standard| SLPlayItf_<br>SLresult (*SetPlayState) (<br> SLPlayItf self,<br> SLuint32 state<br> ); | Added | Added the API for setting the player state. |
| Media - audio_standard| SLPlayItf_<br>SLresult (*GetPlayState) (<br> SLPlayItf self,<br> SLuint32 *pState<br> ); | Added | Added the API for obtaining the player state. |
| Media - audio_standard| SLBufferQueueItf_<br>SLresult (*Enqueue) (<br> SLBufferQueueItf self,<br> const void *pBuffer,<br> SLuint32 size<br> ); | Added | Added the API for filling a buffer queue. |
| Media - audio_standard| SLBufferQueueItf_<br>SLresult (*Clear) (<br> SLBufferQueueItf self<br> ); | Added | Added the API for clearing a buffer queue. |
| Media - audio_standard| SLBufferQueueItf_<br>SLresult (*GetState) (<br> SLBufferQueueItf self,<br> SLBufferQueueState *pState<br> ); | Added | Added the API for obtaining the buffer queue state. |
| Media - audio_standard| SLVolumeItf_<br>SLresult (*SetVolumeLevel) (<br> SLVolumeItf self,<br> SLmillibel level<br> ); | Added | Added the API for setting the volume level. |
| Media - audio_standard| SLVolumeItf_<br>SLresult (*GetVolumeLevel) (<br> SLVolumeItf self,<br> SLmillibel *pLevel<br> ); | Added | Added the API for obtaining the volume level. |
| Media - audio_standard| SLVolumeItf_<br>SLresult (*GetMaxVolumeLevel) (<br> SLVolumeItf self,<br> SLmillibel *pMaxLevel<br> ); | Added | Added the API for setting the maximum volume level. |
| LIBUV | [LIBUV](https://gitee.com/openharmony/docs/tree/master/en/application-dev/reference/native-lib/third_party_libuv)| Added| Added the LIBUV interface.|
| Node-API | [Node-API](https://gitee.com/openharmony/docs/blob/master/en/application-dev/reference/native-lib/third_party_napi/napi.md) | Added| The NAPI component re-implements the Node-API interface and supports some interfaces in the Node-API standard library.|
| EGL | [EGL](https://github.com/KhronosGroup/EGL-Registry/tree/main/api/EGL/)| Added| Added the EGL interface.|
| GLES3 | [GLES3](https://github.com/KhronosGroup/OpenGL-Registry/tree/main/api/GLES3/)| Added| Added the OpenGL ES 3.0 interface.|
| C++ standard library| [libc++](https://libcxx.llvm.org/)| Added| Added the C++ standard library interface.|
| C standard library| C11 standard library implemented by [libc, libm, and libdl](https://en.cppreference.com/w/c/header)| Added| Added the C standard library interface.|
# Readme
This directory records the API changes in OpenHarmony 3.1 Release over OpenHarmony 3.0 LTS, including new, updated, deprecated, and deleted APIs.
- [JS API Differences](js-apidiff-v3.1-release.md)
- [Native API Differences](native-apidiff-v3.1-release.md)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册