harmony 鸿蒙@ohos.inputMethod (Input Method Framework)

2022-08-09 浏览 (842)

@ohos.inputMethod (Input Method Framework)

The inputMethod module is oriented to common foreground applications (third-party applications and system applications such as Notes, Messaging, and Settings). It provides input method control and management capabilities, including displaying or hiding the soft keyboard, switching between input methods, and obtaining the list of all input methods.

NOTE

The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import inputMethod from '@ohos.inputMethod';

Constants8+

Provides the constants.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeValueDescription
MAX_TYPE_NUMnumber128Maximum number of supported input methods.

InputMethodProperty8+

Describes the input method application attributes.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
name9+stringYesNoMandatory. Internal name of the input method.
id9+stringYesNoMandatory. Unique ID of the input method.
label9+stringYesNoOptional. External name of the input method.
labelId10+stringYesNoOptional. External ID of the input method.
icon9+stringYesNoOptional. Icon of the input method. It can be obtained by using iconId. This parameter is reserved.
iconId9+numberYesNoOptional. Icon ID of the input method.
extra9+objectYesYesExtra information about the input method. This parameter is reserved and currently has no specific meaning.
- API version 10 and later: optional
- API version 9: mandatory
packageName(deprecated)stringYesNoName of the input method package. Mandatory.
NOTE
This API is supported since API version 8 and deprecated since API version 9. You are advised to use name instead.
methodId(deprecated)stringYesNoUnique ID of the input method. Mandatory.
NOTE
This API is supported since API version 8 and deprecated since API version 9. You are advised to use id instead.

inputMethod.getController9+

getController(): InputMethodController

Obtains an InputMethodController instance.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
InputMethodControllerCurrent InputMethodController instance.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800006input method controller error.

Example

let inputMethodController = inputMethod.getController();

inputMethod.getSetting9+

getSetting(): InputMethodSetting

Obtains an InputMethodSetting instance.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
InputMethodSettingCurrent InputMethodSetting instance.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800007settings extension error.

Example

let inputMethodSetting = inputMethod.getSetting();

inputMethod.switchInputMethod9+

switchInputMethod(target: InputMethodProperty, callback: AsyncCallback<boolean>): void

Switches to another input method. This API can be called by system applications only. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.CONNECT_IME_ABILITY

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
targetInputMethodPropertyYesTarget input method.
callbackAsyncCallback<boolean>YesCallback used to return the result. If the operation is successful, err is undefined and data is true. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800005configuration persisting error.
12800008input method manager service error.

Example

let currentIme = inputMethod.getCurrentInputMethod();
try{
  inputMethod.switchInputMethod(currentIme, (err: BusinessError, result: boolean) => {
    if (err) {
      console.error(`Failed to switchInputMethod: ${JSON.stringify(err)}`);
      return;
    }
    if (result) {
      console.log('Succeeded in switching inputmethod.');
    } else {
      console.error('Failed to switchInputMethod.');
    }
  });
} catch(err) {
  console.error(`Failed to switchInputMethod: ${JSON.stringify(err)}`);
}

inputMethod.switchInputMethod9+

switchInputMethod(target: InputMethodProperty): Promise<boolean>

Switches to another input method. This API can be called by system applications only. This API uses a promise to return the result.

Required permissions: ohos.permission.CONNECT_IME_ABILITY

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
targetInputMethodPropertyYesTarget input method.

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means that the switching is successful, and false means the opposite.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800005configuration persisting error.
12800008input method manager service error.

Example

let currentIme = inputMethod.getCurrentInputMethod();
try {
  inputMethod.switchInputMethod(currentIme).then((result: boolean) => {
    if (result) {
      console.log('Succeeded in switching inputmethod.');
    } else {
      console.error('Failed to switchInputMethod.');
    }
  }).catch((err: BusinessError) => {
    console.error(`Failed to switchInputMethod: ${JSON.stringify(err)}`);
  })
} catch (err) {
  console.error(`Failed to switchInputMethod: ${JSON.stringify(err)}`);
}

inputMethod.getCurrentInputMethod9+

getCurrentInputMethod(): InputMethodProperty

Obtains the current input method. This API returns the result synchronously.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
InputMethodPropertyInputmethodProperty instance of the current input method.

Example

let currentIme = inputMethod.getCurrentInputMethod();

inputMethod.switchCurrentInputMethodSubtype9+

switchCurrentInputMethodSubtype(target: InputMethodSubtype, callback: AsyncCallback<boolean>): void

Switches to another subtype of this input method. This API uses an asynchronous callback to return the result.

NOTE

In API version 9, this API can be called by system applications only. Since API version 10, this API can be called by system applications and the current input method.

Required permissions: ohos.permission.CONNECT_IME_ABILITY

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
targetInputMethodSubtypeYesTarget input method subtype.
callbackAsyncCallback<boolean>YesCallback used to return the result. If the operation is successful, err is undefined and data is true. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800005configuration persisting error.
12800008input method manager service error.

Example

try {
  let extra: Record<string, string> = {}
  inputMethod.switchCurrentInputMethodSubtype({
    id: "ServiceExtAbility",
    label: "",
    name: "com.example.kikakeyboard",
    mode: "upper",
    locale: "",
    language: "",
    icon: "",
    iconId: 0,
    extra: extra
  }, (err: BusinessError, result: boolean) => {
    if (err) {
      console.error(`Failed to switchCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
      return;
    }
    if (result) {
      console.log('Succeeded in switching currentInputMethodSubtype.');
    } else {
      console.error('Failed to switchCurrentInputMethodSubtype');
    }
  });
} catch(err) {
  console.error(`Failed to switchCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
}

inputMethod.switchCurrentInputMethodSubtype9+

switchCurrentInputMethodSubtype(target: InputMethodSubtype): Promise<boolean>

Switches to another subtype of this input method. This API uses a promise to return the result.

NOTE

In API version 9, this API can be called by system applications only. Since API version 10, this API can be called by system applications and the current input method.

Required permissions: ohos.permission.CONNECT_IME_ABILITY

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
targetInputMethodSubtypeYesTarget input method subtype.

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means that the switching is successful, and false means the opposite.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800005configuration persisting error.
12800008input method manager service error.

Example

try {
  let extra: Record<string, string> = {}
  inputMethod.switchCurrentInputMethodSubtype({
    id: "ServiceExtAbility",
    label: "",
    name: "com.example.kikakeyboard",
    mode: "upper",
    locale: "",
    language: "",
    icon: "",
    iconId: 0,
    extra: extra
  }).then((result: boolean) => {
    if (result) {
      console.log('Succeeded in switching currentInputMethodSubtype.');
    } else {
      console.error('Failed to switchCurrentInputMethodSubtype.');
    }
  }).catch((err: BusinessError) => {
    console.error(`Failed to switchCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to switchCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
}

inputMethod.getCurrentInputMethodSubtype9+

getCurrentInputMethodSubtype(): InputMethodSubtype

Obtains the current input method subtype.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
InputMethodSubtypeCurrent input method subtype.

Example

let currentImeSubType = inputMethod.getCurrentInputMethodSubtype();

inputMethod.switchCurrentInputMethodAndSubtype9+

switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype, callback: AsyncCallback<boolean>): void

Switches to a specified subtype of a specified input method. This API can be called by system applications only. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.CONNECT_IME_ABILITY

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
inputMethodPropertyInputMethodPropertyYesTarget input method.
inputMethodSubtypeInputMethodSubtypeYesTarget input method subtype.
callbackAsyncCallback<boolean>YesCallback used to return the result. If the operation is successful, err is undefined and data is true. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800005configuration persisting error.
12800008input method manager service error.

Example

let currentIme = inputMethod.getCurrentInputMethod();
let imSubType = inputMethod.getCurrentInputMethodSubtype();
try {
  inputMethod.switchCurrentInputMethodAndSubtype(currentIme, imSubType, (err: BusinessError, result: boolean) => {
    if (err) {
      console.error(`Failed to switchCurrentInputMethodAndSubtype: ${JSON.stringify(err)}`);
      return;
    }
    if (result) {
      console.log('Succeeded in switching currentInputMethodAndSubtype.');
    } else {
      console.error('Failed to switchCurrentInputMethodAndSubtype.');
    }
  });
} catch (err) {
  console.error(`Failed to switchCurrentInputMethodAndSubtype: ${JSON.stringify(err)}`);
}

inputMethod.switchCurrentInputMethodAndSubtype9+

switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype): Promise<boolean>

Switches to a specified subtype of a specified input method. This API can be called by system applications only. This API uses a promise to return the result.

Required permissions: ohos.permission.CONNECT_IME_ABILITY

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
inputMethodPropertyInputMethodPropertyYesTarget input method.
inputMethodSubtypeInputMethodSubtypeYesTarget input method subtype.

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means that the switching is successful, and false means the opposite.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800005configuration persisting error.
12800008input method manager service error.

Example

let currentIme = inputMethod.getCurrentInputMethod();
let imSubType = inputMethod.getCurrentInputMethodSubtype();
try {
  inputMethod.switchCurrentInputMethodAndSubtype(currentIme, imSubType).then((result: boolean) => {
    if (result) {
      console.log('Succeeded in switching currentInputMethodAndSubtype.');
    } else {
      console.error('Failed to switchCurrentInputMethodAndSubtype.');
    }
  }).catch((err: BusinessError) => {
    console.error(`Failed to switchCurrentInputMethodAndSubtype: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to switchCurrentInputMethodAndSubtype: ${JSON.stringify(err)}`);
}

inputMethod.getInputMethodController(deprecated)

getInputMethodController(): InputMethodController

Obtains an InputMethodController instance.

NOTE

This API is supported since API version 6 and deprecated since API version 9. You are advised to use getController() instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
InputMethodControllerCurrent InputMethodController instance.

Example

let inputMethodController = inputMethod.getInputMethodController();

inputMethod.getInputMethodSetting(deprecated)

getInputMethodSetting(): InputMethodSetting

Obtains an InputMethodSetting instance.

NOTE

This API is supported since API version 6 and deprecated since API version 9. You are advised to use getSetting() instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
InputMethodSettingCurrent InputMethodSetting instance.

Example

let inputMethodSetting = inputMethod.getInputMethodSetting();

TextInputType10+

Enumerates the text input types.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameValueDescription
NONE-1None.
TEXT0Text.
MULTILINE1Multi-line.
NUMBER2Number.
PHONE3Phone number.
DATETIME4Date.
EMAIL_ADDRESS5Email address.
URL6URL.
VISIBLE_PASSWORD7Password.

EnterKeyType10+

Enumerates the function types represented by the Enter key of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameValueDescription
UNSPECIFIED0Not specified.
NONE1None.
GO2Go.
SEARCH3Search.
SEND4Send.
NEXT5Next.
DONE6Done.
PREVIOUS7Previous.

KeyboardStatus10+

Enumerates the soft keyboard states of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameValueDescription
NONE0None.
HIDE1Hidden.
SHOW2Shown.

Direction10+

Enumerates the directions of cursor movement of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameValueDescription
CURSOR_UP1Upward.
CURSOR_DOWN2Downward.
CURSOR_LEFT3Leftward.
CURSOR_RIGHT4Rightward.

ExtendAction10+

Describes the type of the extended edit action on the text box.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameValueDescription
SELECT_ALL0Select all.
CUT3Cut.
COPY4Copy.
PASTE5Paste.

FunctionKey10+

Describes the type of the input method function key.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
enterKeyType10+EnterKeyTypeYesYesFunction type represented by the Enter key of the input method.

InputAttribute10+

Describes the attributes of the edit box, including the text input type and Enter key function type.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
textInputType10+TextInputTypeYesYesEnumerates the text input types.
enterKeyType10+EnterKeyTypeYesYesFunction type represented by the Enter key.

TextConfig10+

Describes the configuration of the edit box.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeRead-onlyMandatoryDescription
inputAttribute10+InputAttributeNoYesEdit box attribute.
cursorInfo10+CursorInfoNoNoCursor information.
selection10+RangeNoNoText selection range.
windowId10+numberNoNoID of the window where the edit box is located.

CursorInfo10+

Describes the cursor information.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
leftnumberYesYesLeft coordinate of the cursor.
topnumberYesYesTop coordinate of the cursor.
widthnumberYesYesWidth of the cursor.
heightnumberYesYesHeight of the cursor.

Range10+

Describes the range of the selected text.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
startnumberYesYesIndex of the first selected character in the text box.
endnumberYesYesIndex of the last selected character in the text box.

Movement10+

Describes the direction in which the cursor moves when the text is selected.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
directionDirectionYesYesDirection in which the cursor moves when the text is selected.

InputWindowInfo10+

Describes the window information of the input method keyboard.

System capability: SystemCapability.MiscServices.InputMethodFramework

NameTypeReadableWritableDescription
namestringYesYesName of the input method keyboard window.
leftnumberYesYesHorizontal coordinate of the upper left corner of the input method keyboard window, in px.
topnumberYesYesVertical coordinate of the upper left corner of the input method keyboard window, in px.
widthnumberYesYesWidth of the input method keyboard window, in px.
heightnumberYesYesHeight of the input method keyboard window, in px.

InputMethodController

In the following API examples, you must first use getController to obtain an InputMethodController instance, and then call the APIs using the obtained instance.

attach10+

attach(showKeyboard: boolean, textConfig: TextConfig, callback: AsyncCallback<void>): void

Attaches a self-drawing component to the input method. This API uses an asynchronous callback to return the result.

NOTE

An input method can use the following features only when it has a self-drawing component attached to it: showing or hiding the keyboard, updating the cursor information, changing the selection range of the edit box, saving the configuration information, and listening for and processing the information or commands sent by the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
showKeyboardbooleanYesWhether to start the input method keyboard after the self-drawing component is attached to the input method.
- The value true means to start the input method keyboard, and false means the opposite.
textConfigTextConfigYesConfiguration of the edit box.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

try {
  let textConfig: inputMethod.TextConfig = {
    inputAttribute: {
      textInputType: 0,
      enterKeyType: 1
    }
  };
  inputMethodController.attach(true, textConfig, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to attach: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in attaching the inputMethod.');
  });
} catch(err) {
  console.error(`Failed to attach: ${JSON.stringify(err)}`);
}

attach10+

attach(showKeyboard: boolean, textConfig: TextConfig): Promise<void>

Attaches a self-drawing component to the input method. This API uses a promise to return the result.

NOTE

An input method can use the following features only when it has a self-drawing component attached to it: showing or hiding the keyboard, updating the cursor information, changing the selection range of the edit box, saving the configuration information, and listening for and processing the information or commands sent by the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
showKeyboardbooleanYesWhether to start the input method keyboard after the self-drawing component is attached to the input method.
- The value true means to start the input method keyboard, and false means the opposite.
textConfigTextConfigYesConfiguration of the edit box.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

try {
  let textConfig: inputMethod.TextConfig = {
    inputAttribute: {
      textInputType: 0,
      enterKeyType: 1
    }
  };
  inputMethodController.attach(true, textConfig).then(() => {
    console.log('Succeeded in attaching inputMethod.');
  }).catch((err: BusinessError) => {
    console.error(`Failed to attach: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to attach: ${JSON.stringify(err)}`);
}

showTextInput10+

showTextInput(callback: AsyncCallback<void>): void

Enters the text editing mode. This API uses an asynchronous callback to return the result.

NOTE

After the edit box is attached to an input method, this API can be called to start the soft keyboard and enter the text editing state.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

inputMethodController.showTextInput((err: BusinessError) => {
  if (err) {
    console.error(`Failed to showTextInput: ${JSON.stringify(err)}`);
    return;
  }
  console.log('Succeeded in showing the inputMethod.');
});

showTextInput10+

showTextInput(): Promise<void>

Enters the text editing mode. This API uses a promise to return the result.

NOTE

After the edit box is attached to an input method, this API can be called to start the soft keyboard and enter the text editing state.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

inputMethodController.showTextInput().then(() => {
  console.log('Succeeded in showing text input.');
}).catch((err: BusinessError) => {
  console.error(`Failed to showTextInput: ${JSON.stringify(err)}`);
});

hideTextInput10+

hideTextInput(callback: AsyncCallback<void>): void

Exits the text editing mode. This API uses an asynchronous callback to return the result.

NOTE

If the soft keyboard is displayed when this API is called, it will be hidden.

Calling this API does not detach the edit box from the input method. The edit box can call showTextInput again to reenter the text editing mode.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

inputMethodController.hideTextInput((err: BusinessError) => {
  if (err) {
    console.error(`Failed to hideTextInput: ${JSON.stringify(err)}`);
    return;
  }
  console.log('Succeeded in hiding text input.');
});

hideTextInput10+

hideTextInput(): Promise<void>

Exits the text editing mode. This API uses a promise to return the result.

NOTE

If the soft keyboard is displayed when this API is called, it will be hidden.

Calling this API does not detach the edit box from the input method. The edit box can call showTextInput again to reenter the text editing mode.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

inputMethodController.hideTextInput().then(() => {
  console.log('Succeeded in hiding inputMethod.');
}).catch((err: BusinessError) => {
  console.error(`Failed to hideTextInput: ${JSON.stringify(err)}`);
})

detach10+

detach(callback: AsyncCallback<void>): void

Detaches the self-drawing component from the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

inputMethodController.detach((err: BusinessError) => {
  if (err) {
    console.error(`Failed to detach: ${JSON.stringify(err)}`);
    return;
  }
  console.log('Succeeded in detaching inputMethod.');
});

detach10+

detach(): Promise<void>

Detaches the self-drawing component from the input method. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

inputMethodController.detach().then(() => {
  console.log('Succeeded in detaching inputMethod.');
}).catch((err: BusinessError) => {
  console.error(`Failed to detach: ${JSON.stringify(err)}`);
});

setCallingWindow10+

setCallingWindow(windowId: number, callback: AsyncCallback<void>): void

Sets the window to be avoided by the input method. This API uses an asynchronous callback to return the result.

NOTE

After the window ID of the application bound to the input method is passed in the API, the input method window will not cover the window holding the application.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
windowIdnumberYesWindow ID of the application bound to the input method.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  let windowId: number = 2000;
  inputMethodController.setCallingWindow(windowId, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to setCallingWindow: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in setting callingWindow.');
  });
} catch(err) {
  console.error(`Failed to setCallingWindow: ${JSON.stringify(err)}`);
}

setCallingWindow10+

setCallingWindow(windowId: number): Promise<void>

Sets the window to be avoided by the input method. This API uses a promise to return the result.

NOTE

After the window ID of the application bound to the input method is passed in the API, the input method window will not cover the window holding the application.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
windowIdnumberYesWindow ID of the application bound to the input method.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  let windowId: number = 2000;
  inputMethodController.setCallingWindow(windowId).then(() => {
    console.log('Succeeded in setting callingWindow.');
  }).catch((err: BusinessError) => {
    console.error(`Failed to setCallingWindow: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to setCallingWindow: ${JSON.stringify(err)}`);
}

updateCursor10+

updateCursor(cursorInfo: CursorInfo, callback: AsyncCallback<void>): void

Updates the cursor information in this edit box. This API can be called to notify the input method of the cursor changes. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
cursorInfoCursorInfoYesCursor information.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  let cursorInfo: inputMethod.CursorInfo = { left: 0, top: 0, width: 600, height: 800 };
  inputMethodController.updateCursor(cursorInfo, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to updateCursor: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in updating cursorInfo.');
  });
} catch(err) {
  console.error(`Failed to updateCursor: ${JSON.stringify(err)}`);
}

updateCursor10+

updateCursor(cursorInfo: CursorInfo): Promise<void>

Updates the cursor information in this edit box. This API can be called to notify the input method of the cursor changes. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
cursorInfoCursorInfoYesCursor information.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  let cursorInfo: inputMethod.CursorInfo = { left: 0, top: 0, width: 600, height: 800 };
  inputMethodController.updateCursor(cursorInfo).then(() => {
    console.log('Succeeded in updating cursorInfo.');
  }).catch((err: BusinessError) => {
    console.error(`Failed to updateCursor: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to updateCursor: ${JSON.stringify(err)}`);
}

changeSelection10+

changeSelection(text: string, start: number, end: number, callback: AsyncCallback<void>): void

Updates the information of selected text in this edit box, to notify the input method when the selected text content or text range changes. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
textstringYesAll input text.
startnumberYesStart position of the selected text.
endnumberYesEnd position of the selected text.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  inputMethodController.changeSelection('text', 0, 5, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to changeSelection: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in changing selection.');
  });
} catch(err) {
  console.error(`Failed to changeSelection: ${JSON.stringify(err)}`);
}

changeSelection10+

changeSelection(text: string, start: number, end: number): Promise<void>

Updates the information of selected text in this edit box, to notify the input method when the selected text content or text range changes. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
textstringYesAll input text.
startnumberYesStart position of the selected text.
endnumberYesEnd position of the selected text.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  inputMethodController.changeSelection('test', 0, 5).then(() => {
    console.log('Succeeded in changing selection.');
  }).catch((err: BusinessError) => {
    console.error(`Failed to changeSelection: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to changeSelection: ${JSON.stringify(err)}`);
}

updateAttribute10+

updateAttribute(attribute: InputAttribute, callback: AsyncCallback<void>): void

Updates the attribute information of this edit box. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
attributeInputAttributeYesAttribute information.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  let inputAttribute: inputMethod.InputAttribute = { textInputType: 0, enterKeyType: 1 };
  inputMethodController.updateAttribute(inputAttribute, (err: BusinessError) => {
    if (err) {
      console.error(`Failed to updateAttribute: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in updating attribute.');
  });
} catch(err) {
  console.error(`Failed to updateAttribute: ${JSON.stringify(err)}`);
}

updateAttribute10+

updateAttribute(attribute: InputAttribute): Promise<void>

Updates the attribute information of this edit box. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
attributeInputAttributeYesAttribute information.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.
12800009input method client is detached.

Example

try {
  let inputAttribute: inputMethod.InputAttribute = { textInputType: 0, enterKeyType: 1 };
  inputMethodController.updateAttribute(inputAttribute).then(() => {
    console.log('Succeeded in updating attribute.');
  }).catch((err: BusinessError) => {
    console.error(`Failed to updateAttribute: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to updateAttribute: ${JSON.stringify(err)}`);
}

stopInputSession9+

stopInputSession(callback: AsyncCallback<boolean>): void

Ends this input session. This API uses an asynchronous callback to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to end the input session only when the edit box is focused.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<boolean>YesCallback used to return the result. If the operation is successful, err is undefined and data is true. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

try {
  inputMethodController.stopInputSession((err: BusinessError, result: boolean) => {
    if (err) {
      console.error(`Failed to stopInputSession: ${JSON.stringify(err)}`);
      return;
    }
    if (result) {
      console.log('Succeeded in stopping inputSession.');
    } else {
      console.error('Failed to stopInputSession.');
    }
  });
} catch(err) {
  console.error(`Failed to stopInputSession: ${JSON.stringify(err)}`);
}

stopInputSession9+

stopInputSession(): Promise<boolean>

Ends this input session. This API uses a promise to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to end the input session only when the edit box is focused.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means that the operation is successful, and false means the opposite.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

try {
  inputMethodController.stopInputSession().then((result: boolean) => {
    if (result) {
      console.log('Succeeded in stopping inputSession.');
    } else {
      console.error('Failed to stopInputSession.');
    }
  }).catch((err: BusinessError) => {
    console.error(`Failed to stopInputSession: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to stopInputSession: ${JSON.stringify(err)}`);
}

showSoftKeyboard9+

showSoftKeyboard(callback: AsyncCallback<void>): void

Shows the soft keyboard. This API uses an asynchronous callback to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to show the soft keyboard only when the edit box is focused.

Required permissions: ohos.permission.CONNECT_IME_ABILITY (for system applications only)

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

inputMethodController.showSoftKeyboard((err: BusinessError) => {
  if (!err) {
    console.log('Succeeded in showing softKeyboard.');
  } else {
    console.error(`Failed to show softKeyboard: ${JSON.stringify(err)}`);
  }
})

showSoftKeyboard9+

showSoftKeyboard(): Promise<void>

Shows the soft keyboard. This API uses a promise to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to show the soft keyboard only when the edit box is focused.

Required permissions: ohos.permission.CONNECT_IME_ABILITY (for system applications only)

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

inputMethodController.showSoftKeyboard().then(() => {
  console.log('Succeeded in showing softKeyboard.');
}).catch((err: BusinessError) => {
  console.error(`Failed to show softKeyboard: ${JSON.stringify(err)}`);
});

hideSoftKeyboard9+

hideSoftKeyboard(callback: AsyncCallback<void>): void

Hides the soft keyboard. This API uses an asynchronous callback to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to hide the soft keyboard only when the edit box is focused.

Required permissions: ohos.permission.CONNECT_IME_ABILITY (for system applications only)

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

inputMethodController.hideSoftKeyboard((err: BusinessError) => {
  if (!err) {
    console.log('Succeeded in hiding softKeyboard.');
  } else {
    console.error(`Failed to hide softKeyboard: ${JSON.stringify(err)}`);
  }
})

hideSoftKeyboard9+

hideSoftKeyboard(): Promise<void>

Hides the soft keyboard. This API uses a promise to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to hide the soft keyboard only when the edit box is focused.

Required permissions: ohos.permission.CONNECT_IME_ABILITY (for system applications only)

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800003input method client error.
12800008input method manager service error.

Example

inputMethodController.hideSoftKeyboard().then(() => {
  console.log('Succeeded in hiding softKeyboard.');
}).catch((err: BusinessError) => {
  console.error(`Failed to hide softKeyboard: ${JSON.stringify(err)}`);
});

stopInput(deprecated)

stopInput(callback: AsyncCallback<boolean>): void

Ends this input session. This API uses an asynchronous callback to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to end the input session only when the edit box is focused.

This API is supported since API version 6 and deprecated since API version 9. You are advised to use stopInputSession() instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<boolean>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Example

inputMethodController.stopInput((err: BusinessError, result: boolean) => {
  if (err) {
    console.error(`Failed to stopInput: ${JSON.stringify(err)}`);
    return;
  }
  if (result) {
    console.log('Succeeded in stopping input.');
  } else {
    console.error('Failed to stopInput.');
  }
});

stopInput(deprecated)

stopInput(): Promise<boolean>

Ends this input session. This API uses a promise to return the result.

NOTE

This API can be called only when the edit box is attached to the input method. That is, it can be called to end the input session only when the edit box is focused.

This API is supported since API version 6 and deprecated since API version 9. You are advised to use stopInputSession() instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means that the operation is successful, and false means the opposite.

Example

inputMethodController.stopInput().then((result: boolean) => {
  if (result) {
    console.log('Succeeded in stopping input.');
  } else {
    console.error('Failed to stopInput.');
  }
}).catch((err: BusinessError) => {
  console.error(`Failed to stopInput: ${JSON.stringify(err)}`);
})

on('insertText')10+

on(type: 'insertText', callback: (text: string) => void): void;

Enables listening for the text insertion event of the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'insertText'.
callback(text: string) => voidYesCallback used to return the text to be inserted.
The application needs to operate the content in the edit box based on the text content returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('insertText', (text: string) => {
    console.log(`Succeeded in subscribing insertText: ${text}`);
  });
} catch(err) {
  console.error(`Failed to subscribe insertText: ${JSON.stringify(err)}`);
}

off('insertText')10+

off(type: 'insertText', callback?: (text: string) => void): void

Disables listening for the text insertion event of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'insertText'.
callback(text: string) => voidNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onInsertTextCallback = (text: string) => {
    console.log(`Succeeded in subscribing insertText: ${text}`);
};
inputMethodController.off('insertText', onInsertTextCallback);
inputMethodController.off('insertText');

on('deleteLeft')10+

on(type: 'deleteLeft', callback: (length: number) => void): void

Enables listening for the leftward delete event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'deleteLeft'.
callback(length: number) => voidYesCallback used to return the length of the text to be deleted leftward.
The application needs to operate the content in the edit box based on the length returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('deleteLeft', (length: number) => {
    console.log(`Succeeded in subscribing deleteLeft, length: ${length}`);
  });
} catch(err) {
  console.error(`Failed to subscribe deleteLeft: ${JSON.stringify(err)}`);
}

off('deleteLeft')10+

off(type: 'deleteLeft', callback?: (length: number) => void): void

Disables listening for the leftward delete event.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'deleteLeft'.
callback(length: number) => voidNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onDeleteLeftCallback = (length: number) => {
    console.log(`Succeeded in subscribing deleteLeft, length: ${length}`);
};
inputMethodController.off('deleteLeft', onDeleteLeftCallback);
inputMethodController.off('deleteLeft');

on('deleteRight')10+

on(type: 'deleteRight', callback: (length: number) => void): void

Enables listening for the rightward delete event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'deleteRight'.
callback(length: number) => voidYesCallback used to return the length of the text to be deleted rightward.
The application needs to operate the content in the edit box based on the length returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('deleteRight', (length: number) => {
    console.log(`Succeeded in subscribing deleteRight, length: ${length}`);
  });
} catch(err) {
  console.error(`Failed to subscribe deleteRight: ${JSON.stringify(err)}`);
}

off('deleteRight')10+

off(type: 'deleteRight', callback?: (length: number) => void): void

Disables listening for the rightward delete event.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'deleteRight'.
callback(length: number) => voidNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onDeleteRightCallback = (length: number) => {
    console.log(`Succeeded in subscribing deleteRight, length: ${length}`);
};
inputMethodController.off('deleteRight', onDeleteRightCallback);
inputMethodController.off('deleteRight');

on('sendKeyboardStatus')10+

on(type: 'sendKeyboardStatus', callback: (keyboardStatus: KeyboardStatus) => void): void

Enables listening for the soft keyboard status event of the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'sendKeyboardStatus'.
callback(keyboardStatus: KeyboardStatus) => voidYesCallback used to return the soft keyboard status.
The application needs to perform operations based on the soft keyboard state returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('sendKeyboardStatus', (keyboardStatus: inputMethod.KeyboardStatus) => {
    console.log(`Succeeded in subscribing sendKeyboardStatus, keyboardStatus: ${keyboardStatus}`);
  });
} catch(err) {
  console.error(`Failed to subscribe sendKeyboardStatus: ${JSON.stringify(err)}`);
}

off('sendKeyboardStatus')10+

off(type: 'sendKeyboardStatus', callback?: (keyboardStatus: KeyboardStatus) => void): void

Disables listening for the soft keyboard status event of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'sendKeyboardStatus'.
callback(keyboardStatus: KeyboardStatus) => voidNoCallback used for disable listening. If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onSendKeyboardStatus = (keyboardStatus: inputMethod.KeyboardStatus) => {
    console.log(`Succeeded in subscribing sendKeyboardStatus, keyboardStatus: ${keyboardStatus}`);
};
inputMethodController.off('sendKeyboardStatus', onSendKeyboardStatus);
inputMethodController.off('sendKeyboardStatus');

on('sendFunctionKey')10+

on(type: 'sendFunctionKey', callback: (functionKey: FunctionKey) => void): void

Enables listening for the function key sending event of the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'sendFunctionKey'.
callback(functionKey: FunctionKey) => voidYesCallback used to return the function key information sent by the input method.
The application needs to perform operations based on the function key information returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('sendFunctionKey', (functionKey: inputMethod.FunctionKey) => {
    console.log(`Succeeded in subscribing sendFunctionKey, functionKey.enterKeyType: ${functionKey.enterKeyType}`);
  });
} catch(err) {
  console.error(`Failed to subscribe sendFunctionKey: ${JSON.stringify(err)}`);
}

off('sendFunctionKey')10+

off(type: 'sendFunctionKey', callback?: (functionKey: FunctionKey) => void): void

Disables listening for the function key sending event of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'sendFunctionKey'.
callback(functionKey: FunctionKey) => voidNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onSendFunctionKey = (functionKey: inputMethod.FunctionKey) => {
    console.log(`Succeeded in subscribing sendFunctionKey, functionKey: ${functionKey.enterKeyType}`);
};
inputMethodController.off('sendFunctionKey', onSendFunctionKey);
inputMethodController.off('sendFunctionKey');

on('moveCursor')10+

on(type: 'moveCursor', callback: (direction: Direction) => void): void

Enables listening for the cursor movement event of the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'moveCursor'.
callbackcallback: (direction: Direction10+) => voidYesCallback used to return the cursor movement direction.
The application needs to change the cursor position based on the cursor movement direction returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('moveCursor', (direction: inputMethod.Direction) => {
    console.log(`Succeeded in subscribing moveCursor, direction: ${direction}`);
  });
} catch(err) {
  console.error(`Failed to subscribe moveCursor: ${JSON.stringify(err)}`);
}

off('moveCursor')10+

off(type: 'moveCursor', callback?: (direction: Direction) => void): void

Disables listening for the cursor movement event of the input method.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'moveCursor'.
callback(direction: Direction10+) => voidNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onMoveCursorCallback = (direction: inputMethod.Direction) => {
    console.log(`Succeeded in subscribing moveCursor, direction: ${direction}`);
};
inputMethodController.off('moveCursor', onMoveCursorCallback);
inputMethodController.off('moveCursor');

on('handleExtendAction')10+

on(type: 'handleExtendAction', callback: (action: ExtendAction) => void): void

Enables listening for the extended action handling event of the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'handleExtendAction'.
callbackcallback: (action: ExtendAction) => voidYesCallback used to return the extended action type.
The application needs to perform operations based on the extended action type returned in the callback.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('handleExtendAction', (action: inputMethod.ExtendAction) => {
    console.log(`Succeeded in subscribing handleExtendAction, action: ${action}`);
  });
} catch(err) {
  console.error(`Failed to subscribe handleExtendAction: ${JSON.stringify(err)}`);
}

off('handleExtendAction')10+

off(type: 'handleExtendAction', callback?: (action: ExtendAction) => void): void

Disables listening for the extended action handling event of the input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'handleExtendAction'.
callback(action: ExtendAction) => voidNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onHandleExtendActionCallback = (action: inputMethod.ExtendAction) => {
    console.log(`Succeeded in subscribing handleExtendAction, action: ${action}`);
};
inputMethodController.off('handleExtendAction', onHandleExtendActionCallback);
inputMethodController.off('handleExtendAction');

on('selectByRange')10+

on(type: 'selectByRange', callback: Callback<Range>): void

Enables listening for the select-by-range event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'selectByRange'.
callbackCallback<Range>YesCallback used to return the range of the text to be selected.
The application needs to select the text based on the range returned in the callback.

Example

inputMethodController.on('selectByRange', (range: inputMethod.Range) => {
  console.log(`Succeeded in subscribing selectByRange: start: ${range.start} , end: ${range.end}`);
});

off('selectByRange')10+

off(type: 'selectByRange', callback?: Callback<Range>): void

Disables listening for the select-by-range event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'selectByRange'.
callbackCallback<Range>NoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onSelectByRangeCallback = (range: inputMethod.Range) => {
    console.log(`Succeeded in subscribing selectByRange, range: ${JSON.stringify(range)}`);
};
inputMethodController.off('selectByRange', onSelectByRangeCallback);
inputMethodController.off('selectByRange');

on('selectByMovement')10+

on(type: 'selectByMovement', callback: Callback<Movement>): void

Enables listening for the select-by-cursor-movement event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'selectByMovement'.
callbackCallback<Movement>YesCallback used to return the direction in which the cursor moves.
The application needs to select the text based on the direction returned in the callback.

Example

inputMethodController.on('selectByMovement', (movement: inputMethod.Movement) => {
  console.log('Succeeded in subscribing selectByMovement: direction: ' + movement.direction);
});

off('selectByMovement')10+

off(type: 'selectByMovement', callback?: Callback<Movement>): void

Disables listening for the select-by-cursor-movement event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'selectByMovement'.
callbackCallback<Movement>NoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

let onSelectByMovementCallback = (movement: inputMethod.Movement) => {
    console.log(`Succeeded in subscribing selectByMovement, movement.direction: ${movement.direction}`);
};
inputMethodController.off('selectByMovement', onSelectByMovementCallback);
inputMethodController.off('selectByMovement');

on('getLeftTextOfCursor')10+

on(type: 'getLeftTextOfCursor', callback: (length: number) => string): void;

Enables listening for the event of obtaining the length of text deleted leftward. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'getLeftTextOfCursor'.
callback(length: number) => stringYesCallback used to obtain the text of the specified length deleted leftward.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('getLeftTextOfCursor', (length: number) => {
    console.info(`Succeeded in subscribing getLeftTextOfCursor, length: ${length}`);
    let text:string = "";
    return text;
  });
} catch(err) {
  console.error(`Failed to subscribe getLeftTextOfCursor. err: ${JSON.stringify(err)}`);
}

off('getLeftTextOfCursor')10+

off(type: 'getLeftTextOfCursor', callback?: (length: number) => string): void;

Disables listening for the event of obtaining the length of text deleted leftward. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'getLeftTextOfCursor'.
callback(length: number) => stringNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

try {
  let getLeftTextOfCursorCallback = (length: number) => {
    console.info(`Succeeded in unsubscribing getLeftTextOfCursor, length: ${length}`);
    let text:string = "";
    return text;
  };
  inputMethodController.off('getLeftTextOfCursor', getLeftTextOfCursorCallback);
  inputMethodController.off('getLeftTextOfCursor');
} catch(err) {
  console.error(`Failed to unsubscribing getLeftTextOfCursor. err: ${JSON.stringify(err)}`);
}

on('getRightTextOfCursor')10+

on(type: 'getRightTextOfCursor', callback: (length: number) => string): void;

Enables listening for the event of obtaining the length of text deleted rightward. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'getRightTextOfCursor'.
callback(length: number) => stringYesCallback used to obtain the text of the specified length deleted rightward.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('getRightTextOfCursor', (length: number) => {
    console.info(`Succeeded in subscribing getRightTextOfCursor, length: ${length}`);
    let text:string = "";
    return text;
  });
} catch(err) {
  console.error(`Failed to subscribe getRightTextOfCursor. err: ${JSON.stringify(err)}`);
}

off('getRightTextOfCursor')10+

off(type: 'getRightTextOfCursor', callback?: (length: number) => string): void;

Disables listening for the event of obtaining the length of text deleted rightward. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'getRightTextOfCursor'.
callback(length: number) => stringNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

try {
  let getRightTextOfCursorCallback = (length: number) => {
    console.info(`Succeeded in unsubscribing getRightTextOfCursor, length: ${length}`);
    let text:string = "";
    return text;
  };
  inputMethodController.off('getRightTextOfCursor', getRightTextOfCursorCallback);
  inputMethodController.off('getRightTextOfCursor');
} catch(err) {
  console.error(`Failed to unsubscribing getRightTextOfCursor. err: ${JSON.stringify(err)}`);
}

on('getTextIndexAtCursor')10+

on(type: 'getTextIndexAtCursor', callback: () => number): void;

Enables listening for the event of obtaining the index of text at the cursor. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'getTextIndexAtCursor'.
callback() => numberYesCallback used to obtain the index of text at the cursor.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800009input method client is detached.

Example

try {
  inputMethodController.on('getTextIndexAtCursor', () => {
    console.info(`Succeeded in subscribing getTextIndexAtCursor.`);
    let index:number = 0;
    return index;
  });
} catch(err) {
  console.error(`Failed to subscribe getTextIndexAtCursor. err: ${JSON.stringify(err)}`);
}

off('getTextIndexAtCursor')10+

off(type: 'getTextIndexAtCursor', callback?: () => number): void;

Disables listening for the event of obtaining the index of text at the cursor. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'getTextIndexAtCursor'.
callback() => numberNoCallback used for disable listening, which must be the same as that passed by the on API.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

try {
  let getTextIndexAtCursorCallback = () => {
    console.info(`Succeeded in unsubscribing getTextIndexAtCursor.`);
    let index:number = 0;
    return index;
  };
  inputMethodController.off('getTextIndexAtCursor', getTextIndexAtCursorCallback);
  inputMethodController.off('getTextIndexAtCursor');
} catch(err) {
  console.error(`Failed to unsubscribing getTextIndexAtCursor. err: ${JSON.stringify(err)}`);
}

InputMethodSetting8+

In the following API examples, you must first use getSetting to obtain an InputMethodSetting instance, and then call the APIs using the obtained instance.

on('imeChange')9+

on(type: 'imeChange', callback: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void

Enables listening for the input method and subtype change event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'imeChange'.
callback(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => voidYesCallback used to return the input method attributes and subtype.

Example

import InputMethodSubtype from '@ohos.InputMethodSubtype';
inputMethodSetting.on('imeChange', (inputMethodProperty: inputMethod.InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => {
  console.log('Succeeded in subscribing imeChange: inputMethodProperty: ' + JSON.stringify(inputMethodProperty) + " , inputMethodSubtype: " + JSON.stringify(inputMethodSubtype));
});

off('imeChange')9+

off(type: 'imeChange', callback?: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void

Disables listening for the input method and subtype change event. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'imeChange'.
callback(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => voidNoCallback used to return the input method attributes and subtype.

Example

inputMethodSetting.off('imeChange');

on('imeShow')10+

on(type: 'imeShow', callback: (info: Array<InputWindowInfo>) => void): void

Enables listening for the show event of the soft keyboard. This API uses an asynchronous callback to return the result.

System API: This is a system API.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'imeShow'.
callback(info: Array<InputWindowInfo>) => voidYesCallback used to return the information about the soft keyboard of the input method.

Example

inputMethodSetting.on('imeShow', (info: Array<inputMethod.InputWindowInfo>) => {
    console.info('Succeeded in subscribing imeShow event.');
});

on('imeHide')10+

on(type: 'imeHide', callback: (info: Array<InputWindowInfo>) => void): void

Enables listening for the hide event of the soft keyboard. This API uses an asynchronous callback to return the result.

System API: This is a system API.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'imeHide'.
callback(info: Array<InputWindowInfo>) => voidYesCallback used to return the information about the soft keyboard of the input method.

Example

inputMethodSetting.on('imeHide', (info: Array<inputMethod.InputWindowInfo>) => {
    console.info('Succeeded in subscribing imeHide event.');
});

off('imeShow')10+

off(type: 'imeShow', callback?: (info: Array<InputWindowInfo>) => void): void

Disables listening for the show event of the soft keyboard.

System API: This is a system API.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'imeShow'.
callback(info: Array<InputWindowInfo>) => voidNoCallback used for disable listening.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

inputMethodSetting.off('imeShow');

off('imeHide')10+

off(type: 'imeHide', callback?: (info: Array<InputWindowInfo>) => void): void

Disables listening for the hide event of the soft keyboard.

System API: This is a system API.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
typestringYesListening type. The value is fixed at 'imeHide'.
callback(info: Array<InputWindowInfo>) => voidNoCallback used for disable listening.
If this parameter is not specified, listening will be disabled for all callbacks corresponding to the specified type.

Example

inputMethodSetting.off('imeHide');

listInputMethodSubtype9+

listInputMethodSubtype(inputMethodProperty: InputMethodProperty, callback: AsyncCallback<Array<InputMethodSubtype>>): void

Obtains all subtypes of a specified input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
inputMethodPropertyInputMethodPropertyYesInput method.
callbackAsyncCallback<Array<InputMethodSubtype>>YesCallback used to return all subtypes of the specified input method.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800001package manager error.
12800008input method manager service error.

Example

let inputMethodProperty: inputMethod.InputMethodProperty = {
  packageName: 'com.example.kikakeyboard',
  name: 'InputMethodExAbility',
  methodId: '',
  id: 'propertyId',
}
try {
  inputMethodSetting.listInputMethodSubtype(inputMethodProperty, (err: BusinessError, data: Array<InputMethodSubtype>) => {
    if (err) {
      console.error(`Failed to listInputMethodSubtype: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in listing inputMethodSubtype.');
  });
} catch (err) {
  console.error(`Failed to listInputMethodSubtype: ${JSON.stringify(err)}`);
}

listInputMethodSubtype9+

listInputMethodSubtype(inputMethodProperty: InputMethodProperty): Promise<Array<InputMethodSubtype>>

Obtains all subtypes of a specified input method. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
inputMethodPropertyInputMethodPropertyYesInput method.

Return value

TypeDescription
Promise<Array<InputMethodSubtype>>Promise used to return all subtypes of the specified input method.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800001package manager error.
12800008input method manager service error.

Example

let inputMethodProperty: inputMethod.InputMethodProperty = {
  packageName: 'com.example.kikakeyboard',
  name: 'InputMethodExAbility',
  methodId: '',
  id: 'propertyId',
}
try {
  inputMethodSetting.listInputMethodSubtype(inputMethodProperty).then((data: Array<InputMethodSubtype>) => {
    console.log('Succeeded in listing inputMethodSubtype.');
  }).catch((err: Error) => {
    console.error(`Failed to listInputMethodSubtype: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to listInputMethodSubtype: ${JSON.stringify(err)}`);
}

listCurrentInputMethodSubtype9+

listCurrentInputMethodSubtype(callback: AsyncCallback<Array<InputMethodSubtype>>): void

Obtains all subtypes of this input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Array<InputMethodSubtype>>YesCallback used to return all subtypes of the current input method.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800001package manager error.
12800008input method manager service error.

Example

try {
  inputMethodSetting.listCurrentInputMethodSubtype((err: BusinessError, data: Array<InputMethodSubtype>) => {
    if (err) {
      console.error(`Failed to listCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in listing currentInputMethodSubtype.');
  });
} catch(err) {
  console.error(`Failed to listCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
}

listCurrentInputMethodSubtype9+

listCurrentInputMethodSubtype(): Promise<Array<InputMethodSubtype>>

Obtains all subtypes of this input method. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<Array<InputMethodSubtype>>Promise used to return all subtypes of the current input method.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800001package manager error.
12800008input method manager service error.

Example

try {
  inputMethodSetting.listCurrentInputMethodSubtype().then((data: Array<InputMethodSubtype>) => {
    console.log('Succeeded in listing currentInputMethodSubtype.');
  }).catch((err: Error) => {
    console.error(`Failed to listCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to listCurrentInputMethodSubtype: ${JSON.stringify(err)}`);
}

getInputMethods9+

getInputMethods(enable: boolean, callback: AsyncCallback<Array<InputMethodProperty>>): void

Obtains a list of activated or deactivated input methods. This API uses an asynchronous callback to return the result.

NOTE

In the current version, an activated input method is the input method in use, and a deactivated one is any of the installed input methods except the one in use.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
enablebooleanYesWhether to return a list of activated input methods. The value true means to return a list of activated input methods, and false means to return a list of deactivated input methods.
callbackAsyncCallback<Array<InputMethodProperty>>YesCallback used to return a list of activated or deactivated input methods.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800001package manager error.
12800008input method manager service error.

Example

try {
  inputMethodSetting.getInputMethods(true, (err: BusinessError, data: Array<inputMethod.InputMethodProperty>) => {
    if (err) {
      console.error(`Failed to getInputMethods: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in getting inputMethods.');
  });
} catch (err) {
  console.error(`Failed to getInputMethods: ${JSON.stringify(err)}`);
}

getInputMethods9+

getInputMethods(enable: boolean): Promise<Array<InputMethodProperty>>

Obtains a list of activated or deactivated input methods. This API uses a promise to return the result.

NOTE

In the current version, an activated input method is the input method in use, and a deactivated one is any of the installed input methods except the one in use.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
enablebooleanYesWhether to return a list of activated input methods. The value true means to return a list of activated input methods, and false means to return a list of deactivated input methods.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800001package manager error.
12800008input method manager service error.

Return value

TypeDescription
Promise<Array<InputMethodProperty>>Promise used to return a list of activated or deactivated input methods.

Example

try {
  inputMethodSetting.getInputMethods(true).then((data: Array<inputMethod.InputMethodProperty>) => {
    console.log('Succeeded in getting inputMethods.');
  }).catch((err: Error) => {
    console.error(`Failed to getInputMethods: ${JSON.stringify(err)}`);
  })
} catch(err) {
  console.error(`Failed to getInputMethods: ${JSON.stringify(err)}`);
}

showOptionalInputMethods9+

showOptionalInputMethods(callback: AsyncCallback<boolean>): void

Displays a dialog box for selecting an input method. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<boolean>YesCallback used to return the result. If the operation is successful, err is undefined and data is true. Otherwise, err is an error object.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800008input method manager service error.

Example

try {
  inputMethodSetting.showOptionalInputMethods((err: BusinessError, data: boolean) => {
    if (err) {
      console.error(`Failed to showOptionalInputMethods: ${JSON.stringify(err)}`);
      return;
    }
    console.log('Succeeded in showing optionalInputMethods.');
  });
} catch (err) {
  console.error(`Failed to showOptionalInputMethods: ${JSON.stringify(err)}`);
}

showOptionalInputMethods9+

showOptionalInputMethods(): Promise<boolean>

Displays a dialog box for selecting an input method. This API uses a promise to return the result.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means that the operation is successful, and false means the opposite.

Error codes

For details about the error codes, see Input Method Framework Error Codes.

IDError Message
12800008input method manager service error.

Example

inputMethodSetting.showOptionalInputMethods().then((data: boolean) => {
  console.log('Succeeded in showing optionalInputMethods.');
}).catch((err: Error) => {
  console.error(`Failed to showOptionalInputMethods: ${JSON.stringify(err)}`);
})

listInputMethod(deprecated)

listInputMethod(callback: AsyncCallback<Array<InputMethodProperty>>): void

Obtains a list of installed input methods. This API uses an asynchronous callback to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 9. You are advised to use getInputMethods instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Array<InputMethodProperty>>YesCallback used to return the list of installed input methods.

Example

inputMethodSetting.listInputMethod((err: BusinessError, data: Array<inputMethod.InputMethodProperty>) => {
  if (err) {
    console.error(`Failed to listInputMethod: ${JSON.stringify(err)}`);
    return;
  }
  console.log('Succeeded in listing inputMethod.');
 });

listInputMethod(deprecated)

listInputMethod(): Promise<Array<InputMethodProperty>>

Obtains a list of installed input methods. This API uses a promise to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 9. You are advised to use getInputMethods instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<Array<InputMethodProperty>>Promise used to return the list of installed input methods.

Example

inputMethodSetting.listInputMethod().then((data: Array<inputMethod.InputMethodProperty>) => {
  console.log('Succeeded in listing inputMethod.');
}).catch((err: Error) => {
  console.error(`Failed to listInputMethod: ${JSON.stringify(err)}`);
})

displayOptionalInputMethod(deprecated)

displayOptionalInputMethod(callback: AsyncCallback<void>): void

Displays a dialog box for selecting an input method. This API uses an asynchronous callback to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 9. You are advised to use showOptionalInputMethods() instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Example

inputMethodSetting.displayOptionalInputMethod((err: BusinessError) => {
  if (err) {
    console.error(`Failed to displayOptionalInputMethod: ${JSON.stringify(err)}`);
    return;
  }
  console.log('Succeeded in displaying optionalInputMethod.');
});

displayOptionalInputMethod(deprecated)

displayOptionalInputMethod(): Promise<void>

Displays a dialog box for selecting an input method. This API uses a promise to return the result.

NOTE

This API is supported since API version 8 and deprecated since API version 9. You are advised to use showOptionalInputMethods() instead.

System capability: SystemCapability.MiscServices.InputMethodFramework

Return value

TypeDescription
Promise<void>Promise that returns no value.

Example

inputMethodSetting.displayOptionalInputMethod().then(() => {
  console.log('Succeeded in displaying optionalInputMethod.');
}).catch((err: Error) => {
  console.error(`Failed to displayOptionalInputMethod: ${JSON.stringify(err)}`);
})

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

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

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

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

harmony 鸿蒙BundleStatusCallback

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

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

harmony 鸿蒙@ohos.bundle (Bundle)

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

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