輸入法服務

2024-01-23 17:22 更新

本模塊面向輸入法應用(包括系統(tǒng)輸入法應用、三方輸入法應用),為輸入法應用提供能力,功能包括:創(chuàng)建軟鍵盤窗口、插入/刪除字符、選中文本、物理鍵盤按鍵事件監(jiān)聽等。

說明

本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

  1. import inputMethodEngine from '@ohos.inputMethodEngine';

常量

功能鍵常量值、編輯框常量值及光標常量值。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

名稱

類型

說明

ENTER_KEY_TYPE_UNSPECIFIED

number

0

無功能鍵。

ENTER_KEY_TYPE_GO

number

2

“前往”功能鍵。

ENTER_KEY_TYPE_SEARCH

number

3

“搜索”功能鍵。

ENTER_KEY_TYPE_SEND

number

4

“發(fā)送”功能鍵。

ENTER_KEY_TYPE_NEXT

number

5

“下一個”功能鍵。

ENTER_KEY_TYPE_DONE

number

6

“回車”功能鍵。

ENTER_KEY_TYPE_PREVIOUS

number

7

“前一個”功能鍵。

PATTERN_NULL

number

-1

無特殊性編輯框。

PATTERN_TEXT

number

0

文本編輯框。

PATTERN_NUMBER

number

2

數字編輯框。

PATTERN_PHONE

number

3

電話號碼編輯框。

PATTERN_DATETIME

number

4

日期編輯框。

PATTERN_EMAIL

number

5

郵件編輯框。

PATTERN_URI

number

6

超鏈接編輯框。

PATTERN_PASSWORD

number

7

密碼編輯框。

OPTION_ASCII

number

20

允許輸入ASCII值。

OPTION_NONE

number

0

不指定編輯框輸入屬性。

OPTION_AUTO_CAP_CHARACTERS

number

2

允許輸入字符。

OPTION_AUTO_CAP_SENTENCES

number

8

允許輸入句子。

OPTION_AUTO_WORDS

number

4

允許輸入單詞。

OPTION_MULTI_LINE

number

1

允許輸入多行。

OPTION_NO_FULLSCREEN

number

10

半屏樣式。

FLAG_SELECTING

number

2

編輯框處于選擇狀態(tài)。

FLAG_SINGLE_LINE

number

1

編輯框為單行。

DISPLAY_MODE_PART

number

0

編輯框顯示為半屏。

DISPLAY_MODE_FULL

number

1

編輯框顯示為全屏。

CURSOR_UP9+

number

1

光標上移。

CURSOR_DOWN9+

number

2

光標下移。

CURSOR_LEFT9+

number

3

光標左移。

CURSOR_RIGHT9+

number

4

光標右移。

WINDOW_TYPE_INPUT_METHOD_FLOAT9+

number

2105

輸入法應用窗口風格標識。

inputMethodEngine.getInputMethodAbility9+

getInputMethodAbility(): InputMethodAbility

獲取服務端實例。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

InputMethodAbility

服務端實例。

示例:

  1. let InputMethodAbility = inputMethodEngine.getInputMethodAbility();

inputMethodEngine.getKeyboardDelegate9+

getKeyboardDelegate(): KeyboardDelegate

獲取客戶端監(jiān)聽實例。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

KeyboardDelegate

客戶端監(jiān)聽實例。

示例:

  1. let KeyboardDelegate = inputMethodEngine.getKeyboardDelegate();

inputMethodEngine.getInputMethodEngine(deprecated)

getInputMethodEngine(): InputMethodEngine

獲取服務端實例。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getInputMethodAbility()替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

InputMethodEngine

服務端實例。

示例:

  1. let InputMethodEngine = inputMethodEngine.getInputMethodEngine();

inputMethodEngine.createKeyboardDelegate(deprecated)

createKeyboardDelegate(): KeyboardDelegate

獲取客戶端監(jiān)聽實例。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getKeyboardDelegate()替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

KeyboardDelegate

客戶端監(jiān)聽實例。

示例:

  1. let keyboardDelegate = inputMethodEngine.createKeyboardDelegate();

InputMethodEngine

下列API示例中都需使用getInputMethodEngine回調獲取到InputMethodEngine實例,再通過此實例調用對應方法。

on('inputStart')

on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void

訂閱輸入法綁定成功事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘inputStart’時表示訂閱輸入法綁定。

callback

(kbController: KeyboardController, textInputClient: TextInputClient) => void

回調函數,返回訂閱輸入法的KeyboardController和TextInputClient實例。

示例:

  1. inputMethodEngine.getInputMethodEngine().on('inputStart', (kbController, textClient) => {
  2. let keyboardController = kbController;
  3. let textInputClient = textClient;
  4. });

off('inputStart')

off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void

取消訂閱輸入法綁定成功事件。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘inputStart’時表示訂閱輸入法綁定。

callback

(kbController: KeyboardController, textInputClient: TextInputClient) => void

回調函數,返回取消訂閱的KeyboardController和TextInputClient實例。

示例:

  1. inputMethodEngine.getInputMethodEngine().off('inputStart', (kbController, textInputClient) => {
  2. console.log('delete inputStart notification.');
  3. });

on('keyboardShow'|'keyboardHide')

on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void

訂閱輸入法事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'keyboardShow',表示訂閱輸入法顯示。

- type為'keyboardHide',表示訂閱輸入法隱藏。

callback

() => void

回調函數。

示例:

  1. inputMethodEngine.getInputMethodEngine().on('keyboardShow', () => {
  2. console.log('inputMethodEngine keyboardShow.');
  3. });
  4. inputMethodEngine.getInputMethodEngine().on('keyboardHide', () => {
  5. console.log('inputMethodEngine keyboardHide.');
  6. });

off('keyboardShow'|'keyboardHide')

off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void

取消訂閱輸入法事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'keyboardShow',表示訂閱輸入法顯示。

- type為'keyboardHide',表示訂閱輸入法隱藏。

callback

() => void

回調函數。

示例:

  1. inputMethodEngine.getInputMethodEngine().off('keyboardShow');
  2. inputMethodEngine.getInputMethodEngine().off('keyboardHide');

InputMethodAbility

下列API示例中都需使用getInputMethodAbility回調獲取到InputMethodAbility實例,再通過此實例調用對應方法。

on('inputStart')9+

on(type: 'inputStart', callback: (kbController: KeyboardController, inputClient: InputClient) => void): void

訂閱輸入法綁定成功事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘inputStart’時表示訂閱輸入法綁定。

callback

(kbController: KeyboardController, inputClient: InputClient) => void

回調函數,返回輸入法操作相關實例。

示例:

  1. inputMethodEngine.getInputMethodAbility().on('inputStart', (kbController, client) => {
  2. let keyboardController = kbController;
  3. let inputClient = client;
  4. });

off('inputStart')9+

off(type: 'inputStart', callback?: (kbController: KeyboardController, inputClient: InputClient) => void): void

取消訂閱輸入法綁定成功事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘inputStart’時表示訂閱輸入法綁定。

callback

(kbController: KeyboardController, inputClient: InputClient) => void

回調函數,返回輸入法操作相關實例。

示例:

  1. inputMethodEngine.getInputMethodAbility().off('inputStart');

on('inputStop')9+

on(type: 'inputStop', callback: () => void): void

訂閱停止輸入法應用事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘inputStop’時表示訂閱停止輸入法應用事件。

callback

() => void

回調函數。

示例:

  1. inputMethodEngine.getInputMethodAbility().on('inputStop', () => {
  2. console.log('inputMethodAbility inputStop');
  3. });

off('inputStop')9+

off(type: 'inputStop', callback: () => void): void

取消訂閱停止輸入法應用事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘inputStop’時表示訂閱停止輸入法應用事件。

callback

() => void

回調函數。

示例:

  1. inputMethodEngine.getInputMethodAbility().off('inputStop', () => {
  2. console.log('inputMethodAbility delete inputStop notification.');
  3. });

on('setCallingWindow')9+

on(type: 'setCallingWindow', callback: (wid: number) => void): void

訂閱設置調用窗口事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘setCallingWindow’時表示訂閱設置調用窗口事件。

callback

(wid: number) => void

回調函數,返回調用方window id。

示例:

  1. inputMethodEngine.getInputMethodAbility().on('setCallingWindow', (wid) => {
  2. console.log('inputMethodAbility setCallingWindow');
  3. });

off('setCallingWindow')9+

off(type: 'setCallingWindow', callback: (wid:number) => void): void

取消訂閱設置調用窗口事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為‘setCallingWindow’時表示訂閱設置調用窗口事件。

callback

(wid:number) => void

回調函數,返回調用方window id。

示例:

  1. inputMethodEngine.getInputMethodAbility().off('setCallingWindow', () => {
  2. console.log('inputMethodAbility delete setCallingWindow notification.');
  3. });

on('keyboardShow'|'keyboardHide')9+

on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void

訂閱輸入法事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'keyboardShow',表示訂閱顯示鍵盤事件。

- type為'keyboardHide',表示訂閱隱藏鍵盤事件。

callback

() => void

回調函數。

示例:

  1. inputMethodEngine.getInputMethodAbility().on('keyboardShow', () => {
  2. console.log('InputMethodAbility keyboardShow.');
  3. });
  4. inputMethodEngine.getInputMethodAbility().on('keyboardHide', () => {
  5. console.log('InputMethodAbility keyboardHide.');
  6. });

off('keyboardShow'|'keyboardHide')9+

off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void

取消訂閱輸入法事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'keyboardShow',表示取消訂閱顯示鍵盤事件。

- type為'keyboardHide',表示取消訂閱隱藏鍵盤事件。

callback

() => void

回調函數。

示例:

  1. inputMethodEngine.getInputMethodAbility().off('keyboardShow', () => {
  2. console.log('InputMethodAbility delete keyboardShow notification.');
  3. });
  4. inputMethodEngine.getInputMethodAbility().off('keyboardHide', () => {
  5. console.log('InputMethodAbility delete keyboardHide notification.');
  6. });

on('setSubtype')9+

on(type: 'setSubtype', callback: (inputMethodSubtype: InputMethodSubtype) => void): void

訂閱設置輸入法子類型事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'setSubtype',表示訂閱輸入法子類型的設置事件。

callback

(inputMethodSubtype: InputMethodSubtype) => void

回調函數,返回設置的輸入法子類型。

示例:

  1. inputMethodEngine.getInputMethodAbility().on('setSubtype', (inputMethodSubtype) => {
  2. console.log('InputMethodAbility setSubtype.');
  3. });

off('setSubtype')9+

off(type: 'setSubtype', callback?: (inputMethodSubtype: InputMethodSubtype) => void): void

取消訂閱輸入法子類型事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'setSubtype',表示取消訂閱輸入法子類型的設置事件。

callback

(inputMethodSubtype: InputMethodSubtype) => void

回調函數,返回設置的輸入法子類型。

示例:

  1. inputMethodEngine.getInputMethodAbility().off('setSubtype', () => {
  2. console.log('InputMethodAbility delete setSubtype notification.');
  3. });

KeyboardDelegate

下列API示例中都需使用getKeyboardDelegate回調獲取到KeyboardDelegate實例,再通過此實例調用對應方法。

on('keyDown'|'keyUp')

on(type: 'keyDown'|'keyUp', callback: (event: KeyEvent) => boolean): void

訂閱硬鍵盤(即物理鍵盤)事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'keyDown',表示訂閱硬鍵盤按下事件。

- type為'keyUp',表示訂閱硬鍵盤抬起事件。

callback

(event: KeyEvent) => boolean

回調函數,返回按鍵信息。

示例:

  1. inputMethodEngine.getKeyboardDelegate().on('keyUp', (keyEvent) => {
  2. console.info('inputMethodEngine keyCode.(keyUp):' + JSON.stringify(keyEvent.keyCode));
  3. console.info('inputMethodEngine keyAction.(keyUp):' + JSON.stringify(keyEvent.keyAction));
  4. return true;
  5. });
  6. inputMethodEngine.getKeyboardDelegate().on('keyDown', (keyEvent) => {
  7. console.info('inputMethodEngine keyCode.(keyDown):' + JSON.stringify(keyEvent.keyCode));
  8. console.info('inputMethodEngine keyAction.(keyDown):' + JSON.stringify(keyEvent.keyAction));
  9. return true;
  10. });

off('keyDown'|'keyUp')

off(type: 'keyDown'|'keyUp', callback?: (event: KeyEvent) => boolean): void

取消訂閱硬鍵盤(即物理鍵盤)事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

設置監(jiān)聽類型。

- type為'keyDown',表示取消訂閱硬鍵盤按下事件。

- type為'keyUp',表示取消訂閱硬鍵盤抬起事件。

callback

(event: KeyEvent) => boolean

回調函數,返回按鍵信息。

示例:

  1. inputMethodEngine.getKeyboardDelegate().off('keyUp', (keyEvent) => {
  2. console.log('delete keyUp notification.');
  3. return true;
  4. });
  5. inputMethodEngine.getKeyboardDelegate().off('keyDown', (keyEvent) => {
  6. console.log('delete keyDown notification.');
  7. return true;
  8. });

on('cursorContextChange')

on(type: 'cursorContextChange', callback: (x: number, y:number, height:number) => void): void

訂閱光標變化事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

光標變化事件。

- type為’cursorContextChange‘時,表示訂閱光標變化事件。

callback

(x: number, y: number, height: number) => void

回調函數,返回光標信息。

- x為光標上端的的x坐標值。

- y為光標上端的y坐標值。

- height為光標的高度值。

示例:

  1. inputMethodEngine.getKeyboardDelegate().on('cursorContextChange', (x, y, height) => {
  2. console.log('inputMethodEngine cursorContextChange x:' + x);
  3. console.log('inputMethodEngine cursorContextChange y:' + y);
  4. console.log('inputMethodEngine cursorContextChange height:' + height);
  5. });

off('cursorContextChange')

off(type: 'cursorContextChange', callback?: (x: number, y: number, height: number) => void): void

取消訂閱光標變化事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

光標變化事件。

- type為’cursorContextChange‘時,表示光標變化。

callback

(x: number, y:number, height:number) => void

回調函數,返回光標信息。

- x為光標上端的的x坐標值。

- y為光標上端的y坐標值。

- height為光標的高度值。

示例:

  1. inputMethodEngine.getKeyboardDelegate().off('cursorContextChange', (x, y, height) => {
  2. console.log('delete cursorContextChange notification.');
  3. });

on('selectionChange')

on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void

訂閱文本選擇變化事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

文本選擇變化事件。

- type為’selectionChange‘時,表示選擇文本變化。

callback

(oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void

回調函數,返回文本選擇信息。

- oldBegin為變化之前被選中文本的起始下標。

- oldEnd為變化之前被選中文本的終止下標。

- newBegin為變化之后被選中文本的起始下標。

- newEnd為變化之后被選中文本的終止下標。

示例:

  1. inputMethodEngine.getKeyboardDelegate().on('selectionChange', (oldBegin, oldEnd, newBegin, newEnd) => {
  2. console.log('inputMethodEngine beforeEach selectionChange oldBegin:' + oldBegin);
  3. console.log('inputMethodEngine beforeEach selectionChange oldEnd:' + oldEnd);
  4. console.log('inputMethodEngine beforeEach selectionChange newBegin:' + newBegin);
  5. console.log('inputMethodEngine beforeEach selectionChange newEnd:' + newEnd);
  6. });

off('selectionChange')

off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void

取消訂閱文本選擇變化事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

文本選擇變化事件。

- type為’selectionChange‘時,表示選擇文本變化。

callback

(oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void

回調函數,返回文本選擇信息。

- oldBegin為變化之前被選中文本的起始下標。

- oldEnd為變化之前被選中文本的終止下標。

- newBegin為變化之后被選中文本的起始下標。

- newEnd為變化之后被選中文本的終止下標。

示例:

  1. inputMethodEngine.getKeyboardDelegate().off('selectionChange', (oldBegin, oldEnd, newBegin, newEnd) => {
  2. console.log('delete selectionChange notification.');
  3. });

on('textChange')

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

訂閱文本變化事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

文本變化事件。

- type為’textChange‘時,表示訂閱文本變化事件。

callback

(text: string) => void

回調函數,返回訂閱的文本內容。

示例:

  1. inputMethodEngine.getKeyboardDelegate().on('textChange', (text) => {
  2. console.log('inputMethodEngine textChange. text:' + text);
  3. });

off('textChange')

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

取消訂閱文本變化事件。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

type

string

文本變化事件。

- type為’textChange‘時,表示取消訂閱文本變化事件。

callback

(text: string) => void

回調函數,返回取消訂閱的文本內容。

示例:

  1. inputMethodEngine.getKeyboardDelegate().off('textChange', (text) => {
  2. console.log('delete textChange notification. text:' + text);
  3. });

KeyboardController

下列API示例中都需使用on('inputStart')回調獲取到KeyboardController實例,再通過此實例調用對應方法。

hide9+

hide(callback: AsyncCallback<void>): void

隱藏輸入法。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

callback

AsyncCallback<void>

回調函數。當輸入法隱藏成功,err為undefined,否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. keyboardController.hide((err) => {
  2. if (err !== undefined) {
  3. console.error('Failed to hide keyboard: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.log('Succeeded in hiding keyboard.');
  7. });

hide9+

hide(): Promise<void>

隱藏輸入法。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

Promise<void>

無返回結果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. keyboardController.hide().then(() => {
  2. console.info('Succeeded in hiding keyboard.');
  3. }).catch((err) => {
  4. console.info('Failed to hide keyboard: ' + JSON.stringify(err));
  5. });

hideKeyboard(deprecated)

hideKeyboard(callback: AsyncCallback<void>): void

隱藏輸入法。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用hide替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

callback

AsyncCallback<void>

回調函數。當輸入法隱藏成功,err為undefined,否則為錯誤對象。

示例:

  1. keyboardController.hideKeyboard((err) => {
  2. if (err !== undefined) {
  3. console.error('Failed to hide Keyboard: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.log('Succeeded in hiding keyboard.');
  7. });

hideKeyboard(deprecated)

hideKeyboard(): Promise<void>

隱藏輸入法。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用hide替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

Promise<void>

無返回結果的Promise對象。

示例:

  1. keyboardController.hideKeyboard().then(() => {
  2. console.info('Succeeded in hiding keyboard.');
  3. }).catch((err) => {
  4. console.info('Failed to hide Keyboard: ' + JSON.stringify(err));
  5. });

InputClient9+

下列API示例中都需使用on('inputStart')回調獲取到InputClient實例,再通過此實例調用對應方法。

sendKeyFunction9+

sendKeyFunction(action:number, callback: AsyncCallback<boolean>): void

發(fā)送功能鍵。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

action

number

功能鍵鍵值。

當值為0時,表示無效按鍵;

當值為1時,表示確認鍵(即回車鍵)。

callback

AsyncCallback<boolean>

回調函數。當功能鍵發(fā)送成功,err為undefined,data為true;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. let action = 1;
  2. try {
  3. inputClient.sendKeyFunction(action, (err, result) => {
  4. if (err !== undefined) {
  5. console.error('Failed to sendKeyFunction: ' + JSON.stringify(err));
  6. return;
  7. }
  8. if (result) {
  9. console.info('Succeeded in sending key function. ');
  10. } else {
  11. console.error('Failed to sendKeyFunction. ');
  12. }
  13. });
  14. } catch (err) {
  15. console.error('sendKeyFunction err: ' + JSON.stringify(err));
  16. }

sendKeyFunction9+

sendKeyFunction(action: number): Promise<boolean>

發(fā)送功能鍵。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

action

number

功能鍵鍵值。

當值為0時,表示無效按鍵;

當值為1時,表示確認鍵(即回車鍵)。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示功能鍵發(fā)送成功;返回false表示功能鍵發(fā)送失敗。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. let action = 1;
  2. try {
  3. inputClient.sendKeyFunction(action).then((result) => {
  4. if (result) {
  5. console.info('Succeeded in sending key function. ');
  6. } else {
  7. console.error('Failed to sendKeyFunction. ');
  8. }
  9. }).catch((err) => {
  10. console.error('Failed to sendKeyFunction:' + JSON.stringify(err));
  11. });
  12. } catch (err) {
  13. console.error('Failed to sendKeyFunction: ' + JSON.stringify(err));
  14. }

getForward9+

getForward(length:number, callback: AsyncCallback<string>): void

獲取光標前固定長度的文本。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<string>

回調函數。當光標前固定長度的文本獲取成功,err為undefined,data為獲取到的文本;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

12800006

Input method controller error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.getForward(length, (err, text) => {
  4. if (err !== undefined) {
  5. console.error('Failed to getForward: ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.log('Succeeded in getting forward, text: ' + text);
  9. });
  10. } catch (err) {
  11. console.error('Failed to getForward: ' + JSON.stringify(err));
  12. }

getForward9+

getForward(length:number): Promise<string>

獲取光標前固定長度的文本。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<string>

Promise對象,返回光標前固定長度的文本。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

12800006

Input method controller error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.getForward(length).then((text) => {
  4. console.info('Succeeded in getting forward, text: ' + text);
  5. }).catch((err) => {
  6. console.error('Failed to getForward: ' + JSON.stringify(err));
  7. });
  8. } catch (err) {
  9. console.error('Failed to getForward: ' + JSON.stringify(err));
  10. }

getBackward9+

getBackward(length:number, callback: AsyncCallback<string>): void

獲取光標后固定長度的文本。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<string>

回調函數。當光標后固定長度的文本獲取成功,err為undefined,data為獲取到的文本;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

12800006

Input method controller error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.getBackward(length, (err, text) => {
  4. if (err !== undefined) {
  5. console.error('Failed to getForward: ' + JSON.stringify(err));
  6. return;
  7. }
  8. console.log('Succeeded in getting backward, text: ' + text);
  9. });
  10. } catch (err) {
  11. console.error('Failed to getForward: ' + JSON.stringify(err));
  12. }

getBackward9+

getBackward(length:number): Promise<string>

獲取光標后固定長度的文本。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<string>

Promise對象,返回光標后固定長度的文本。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼

錯誤碼ID

錯誤信息

12800003

input method client error.

12800006

Input method controller error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.getBackward(length).then((text) => {
  4. console.info('Succeeded in getting backward, text: ' + text);
  5. }).catch((err) => {
  6. console.error('Failed to getForward: ' + JSON.stringify(err));
  7. });
  8. } catch (err) {
  9. console.error('Failed to getForward: ' + JSON.stringify(err));
  10. }

deleteForward9+

deleteForward(length:number, callback: AsyncCallback<boolean>): void

刪除光標前固定長度的文本。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<boolean>

回調函數。當光標前固定長度的文本刪除成功,err為undefined,data為true;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800002

Input method engine error.

12800003

input method client error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.deleteForward(length, (err, result) => {
  4. if (err !== undefined) {
  5. console.error('Failed to delete forward: ' + JSON.stringify(err));
  6. return;
  7. }
  8. if (result) {
  9. console.info('Succeeded in deleting forward. ');
  10. } else {
  11. console.error('Failed to delete forward: ' + JSON.stringify(err));
  12. }
  13. });
  14. } catch (err) {
  15. console.error('Failed to delete forward: ' + JSON.stringify(err));
  16. }

deleteForward9+

deleteForward(length:number): Promise<boolean>

刪除光標前固定長度的文本。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示刪除光標前固定長度的文本成功;返回false表示刪除光標前固定長度的文本失敗。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800002

Input method engine error.

12800003

input method client error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.deleteForward(length).then((result) => {
  4. if (result) {
  5. console.info('Succeeded in deleting forward. ');
  6. } else {
  7. console.error('Failed to delete Forward. ');
  8. }
  9. }).catch((err) => {
  10. console.error('Failed to delete Forward: ' + JSON.stringify(err));
  11. });
  12. } catch (err) {
  13. console.error('Failed to delete Forward: ' + JSON.stringify(err));
  14. }

deleteBackward9+

deleteBackward(length:number, callback: AsyncCallback<boolean>): void

刪除光標后固定長度的文本。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<boolean>

回調函數。當光標后固定長度的文本刪除成功,err為undefined,data為true;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800002

Input method engine error.

12800003

input method client error.

示例:

  1. let length = 1;
  2. try {
  3. inputClient.deleteBackward(length, (err, result) => {
  4. if (err !== undefined) {
  5. console.error('Failed to delete Backward: ' + JSON.stringify(err));
  6. return;
  7. }
  8. if (result) {
  9. console.info('Succeeded in deleting backward. ');
  10. } else {
  11. console.error('Failed to delete Backward: ' + JSON.stringify(err));
  12. }
  13. });
  14. } catch (err) {
  15. console.error('deleteBackward err: ' + JSON.stringify(err));
  16. }

deleteBackward9+

deleteBackward(length:number): Promise<boolean>

刪除光標后固定長度的文本。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示刪除光標后固定長度的文本成功;返回false表示刪除光標后固定長度的文本失敗。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800002

Input method engine error.

12800003

input method client error.

示例:

  1. let length = 1;
  2. inputClient.deleteBackward(length).then((result) => {
  3. if (result) {
  4. console.info('Succeeded in deleting backward. ');
  5. } else {
  6. console.error('Failed to deleteBackward. ');
  7. }
  8. }).catch((err) => {
  9. console.error('Failed to deleteBackward: ' + JSON.stringify(err));
  10. });

insertText9+

insertText(text:string, callback: AsyncCallback<boolean>): void

插入文本。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

text

string

文本。

callback

AsyncCallback<boolean>

回調函數。當文本插入成功,err為undefined,data為true;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800002

Input method engine error.

12800003

input method client error.

示例:

  1. inputClient.insertText('test', (err, result) => {
  2. if (err !== undefined) {
  3. console.error('Failed to insertText: ' + JSON.stringify(err));
  4. return;
  5. }
  6. if (result) {
  7. console.info('Succeeded in inserting text. ');
  8. } else {
  9. console.error('Failed to insertText. ');
  10. }
  11. });

insertText9+

insertText(text:string): Promise<boolean>

插入文本。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

text

string

文本。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示插入文本成功;返回false表示插入文本失敗。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800002

Input method engine error.

12800003

input method client error.

示例:

  1. try {
  2. inputClient.insertText('test').then((result) => {
  3. if (result) {
  4. console.info('Succeeded in inserting text. ');
  5. } else {
  6. console.error('Failed to insertText. ');
  7. }
  8. }).catch((err) => {
  9. console.error('Failed to insertText: ' + JSON.stringify(err));
  10. });
  11. } catch (err) {
  12. console.error('Failed to insertText: ' + JSON.stringify(err));
  13. }

getEditorAttribute9+

getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void

獲取編輯框屬性值。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

callback

AsyncCallback<EditorAttribute>

回調函數。當編輯框屬性值獲取成功,err為undefined,data為編輯框屬性值;否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. inputClient.getEditorAttribute((err, editorAttribute) => {
  2. if (err !== undefined) {
  3. console.error('Failed to getEditorAttribute: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.log('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern));
  7. console.log('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType));
  8. });

getEditorAttribute9+

getEditorAttribute(): Promise<EditorAttribute>

獲取編輯框屬性值。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

Promise<EditorAttribute>

Promise對象,返回編輯框屬性值。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. inputClient.getEditorAttribute().then((editorAttribute) => {
  2. console.info('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern));
  3. console.info('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType));
  4. }).catch((err) => {
  5. console.error('Failed to getEditorAttribute: ' + JSON.stringify(err));
  6. });

moveCursor9+

moveCursor(direction: number, callback: AsyncCallback<void>): void

移動光標。使用callback異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

direction

number

光標移動方向。

callback

AsyncCallback<void>

回調函數。當光標移動成功,err為undefined,否則為錯誤對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. try {
  2. inputClient.moveCursor(inputMethodEngine.CURSOR_UP, (err) => {
  3. if (err !== undefined) {
  4. console.error('Failed to moveCursor: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.info('Succeeded in moving cursor.');
  8. });
  9. } catch (err) {
  10. console.error('Failed to moveCursor: ' + JSON.stringify(err));
  11. }

moveCursor9+

moveCursor(direction: number): Promise<void>

移動光標。使用promise異步回調。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

direction

number

光標移動方向。

返回值:

類型

說明

Promise<void>

無返回結果的Promise對象。

錯誤碼:

以下錯誤碼的詳細介紹請參見輸入法框架錯誤碼。

錯誤碼ID

錯誤信息

12800003

input method client error.

示例:

  1. try {
  2. inputClient.moveCursor(inputMethodEngine.CURSOR_UP).then(() => {
  3. console.log('Succeeded in moving cursor.');
  4. }).catch((err) => {
  5. console.error('Failed to moveCursor: ' + JSON.stringify(err));
  6. });
  7. } catch (err) {
  8. console.log('Failed to moveCursor: ' + JSON.stringify(err));
  9. }

EditorAttribute

編輯框屬性值。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

名稱

類型

可讀

可寫

說明

enterKeyType

number

編輯框的功能屬性。

inputPattern

number

編輯框的文本屬性。

KeyEvent

按鍵屬性值。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

名稱

類型

可讀

可寫

說明

keyCode

number

按鍵的鍵值。鍵碼值說明參考 KeyCode

keyAction

number

按鍵的狀態(tài)。

當值為2時,表示按下事件;

當值為3時,表示抬起事件。

TextInputClient(deprecated)

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用InputClient替代。

下列API示例中都需使用on('inputStart')回調獲取到TextInputClient實例,再通過此實例調用對應方法。

getForward(deprecated)

getForward(length:number, callback: AsyncCallback<string>): void

獲取光標前固定長度的文本。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getForward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<string>

回調函數。當光標前固定長度的文本獲取成功,err為undefined,data為獲取到的文本;否則為錯誤對象。

示例:

  1. let length = 1;
  2. textInputClient.getForward(length, (err, text) => {
  3. if (err !== undefined) {
  4. console.error('Failed to getForward: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.log('Succeeded in getting forward, text: ' + text);
  8. });

getForward(deprecated)

getForward(length:number): Promise<string>

獲取光標前固定長度的文本。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getForward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<string>

Promise對象,返回光標前固定長度的文本。

示例:

  1. let length = 1;
  2. textInputClient.getForward(length).then((text) => {
  3. console.info('Succeeded in getting forward, text: ' + text);
  4. }).catch((err) => {
  5. console.error('Failed to getForward: ' + JSON.stringify(err));
  6. });

getBackward(deprecated)

getBackward(length:number, callback: AsyncCallback<string>): void

獲取光標后固定長度的文本。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getBackward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<string>

回調函數。當光標后固定長度的文本獲取成功,err為undefined,data為獲取到的文本;否則為錯誤對象。

示例:

  1. let length = 1;
  2. textInputClient.getBackward(length, (err, text) => {
  3. if (err !== undefined) {
  4. console.error('Failed to getBackward: ' + JSON.stringify(err));
  5. return;
  6. }
  7. console.log('Succeeded in getting borward, text: ' + text);
  8. });

getBackward(deprecated)

getBackward(length:number): Promise<string>

獲取光標后固定長度的文本。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getBackward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<string>

Promise對象,返回光標后固定長度的文本。

示例:

  1. let length = 1;
  2. textInputClient.getBackward(length).then((text) => {
  3. console.info('Succeeded in getting backward: ' + JSON.stringify(text));
  4. }).catch((err) => {
  5. console.error('Failed to getBackward: ' + JSON.stringify(err));
  6. });

deleteForward(deprecated)

deleteForward(length:number, callback: AsyncCallback<boolean>): void

刪除光標前固定長度的文本。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用deleteForward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<boolean>

回調函數。當光標前固定長度的文本刪除成功,err為undefined,data為true;否則為錯誤對象。

示例:

  1. let length = 1;
  2. textInputClient.deleteForward(length, (err, result) => {
  3. if (err !== undefined) {
  4. console.error('Failed to deleteForward: ' + JSON.stringify(err));
  5. return;
  6. }
  7. if (result) {
  8. console.info('Succeeded in deleting forward. ');
  9. } else {
  10. console.error('Failed to deleteForward. ');
  11. }
  12. });

deleteForward(deprecated)

deleteForward(length:number): Promise<boolean>

刪除光標前固定長度的文本。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用deleteForward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示刪除光標前固定長度的文本成功;返回false表示刪除光標前固定長度的文本失敗。

示例:

  1. let length = 1;
  2. textInputClient.deleteForward(length).then((result) => {
  3. if (result) {
  4. console.info('Succeeded in deleting forward. ');
  5. } else {
  6. console.error('Failed to delete forward. ');
  7. }
  8. }).catch((err) => {
  9. console.error('Failed to delete forward: ' + JSON.stringify(err));
  10. });

deleteBackward(deprecated)

deleteBackward(length:number, callback: AsyncCallback<boolean>): void

刪除光標后固定長度的文本。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用deleteBackward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

callback

AsyncCallback<boolean>

回調函數。當光標后固定長度的文本刪除成功,err為undefined,data為true;否則為錯誤對象。

示例:

  1. let length = 1;
  2. textInputClient.deleteBackward(length, (err, result) => {
  3. if (err !== undefined) {
  4. console.error('Failed to delete backward: ' + JSON.stringify(err));
  5. return;
  6. }
  7. if (result) {
  8. console.info('Succeeded in deleting backward. ');
  9. } else {
  10. console.error('Failed to deleteBackward. ');
  11. }
  12. });

deleteBackward(deprecated)

deleteBackward(length:number): Promise<boolean>

刪除光標后固定長度的文本。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用deleteBackward替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

length

number

文本長度。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示刪除光標后固定長度的文本成功;返回false表示刪除光標后固定長度的文本失敗。

示例:

  1. let length = 1;
  2. textInputClient.deleteBackward(length).then((result) => {
  3. if (result) {
  4. console.info('Succeeded in deleting backward. ');
  5. } else {
  6. console.error('Failed to deleteBackward. ');
  7. }
  8. }).catch((err) => {
  9. console.error('Failed to deleteBackward: ' + JSON.stringify(err));
  10. });

sendKeyFunction(deprecated)

sendKeyFunction(action: number, callback: AsyncCallback<boolean>): void

發(fā)送功能鍵。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用sendKeyFunction替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

action

number

功能鍵鍵值。

當值為0時,表示無效按鍵;

當值為1時,表示確認鍵(即回車鍵)。

callback

AsyncCallback<boolean>

回調函數。當功能鍵發(fā)送成功,err為undefined,data為true;否則為錯誤對象。

示例:

  1. let action = 1;
  2. textInputClient.sendKeyFunction(action, (err, result) => {
  3. if (err !== undefined) {
  4. console.error('Failed to sendKeyFunction: ' + JSON.stringify(err));
  5. return;
  6. }
  7. if (result) {
  8. console.info('Succeeded in sending key function. ');
  9. } else {
  10. console.error('Failed to sendKeyFunction. ');
  11. }
  12. });

sendKeyFunction(deprecated)

sendKeyFunction(action: number): Promise<boolean>

發(fā)送功能鍵。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用sendKeyFunction替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

action

number

功能鍵鍵值。

當值為0時,表示無效按鍵;

當值為1時,表示確認鍵(即回車鍵)。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示發(fā)送功能鍵成功;返回false表示發(fā)送功能鍵失敗。

示例:

  1. let action = 1;
  2. textInputClient.sendKeyFunction(action).then((result) => {
  3. if (result) {
  4. console.info('Succeeded in sending key function. ');
  5. } else {
  6. console.error('Failed to sendKeyFunction. ');
  7. }
  8. }).catch((err) => {
  9. console.error('Failed to sendKeyFunction:' + JSON.stringify(err));
  10. });

insertText(deprecated)

insertText(text:string, callback: AsyncCallback<boolean>): void

插入文本。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用insertText替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

text

string

文本。

callback

AsyncCallback<boolean>

回調函數。當文本插入成功,err為undefined,data為true;否則為錯誤對象。

示例:

  1. textInputClient.insertText('test', (err, result) => {
  2. if (err !== undefined) {
  3. console.error('Failed to insertText: ' + JSON.stringify(err));
  4. return;
  5. }
  6. if (result) {
  7. console.info('Succeeded in inserting text. ');
  8. } else {
  9. console.error('Failed to insertText. ');
  10. }
  11. });

insertText(deprecated)

insertText(text:string): Promise<boolean>

插入文本。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用insertText替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

text

string

文本。

返回值:

類型

說明

Promise<boolean>

Promise對象。返回true表示插入文本成功;返回false表示插入文本失敗。

示例:

  1. textInputClient.insertText('test').then((result) => {
  2. if (result) {
  3. console.info('Succeeded in inserting text. ');
  4. } else {
  5. console.error('Failed to insertText. ');
  6. }
  7. }).catch((err) => {
  8. console.error('Failed to insertText: ' + JSON.stringify(err));
  9. });

getEditorAttribute(deprecated)

getEditorAttribute(callback: AsyncCallback<EditorAttribute>): void

獲取編輯框屬性值。使用callback異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getEditorAttribute替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

參數:

參數名

類型

必填

說明

callback

AsyncCallback<EditorAttribute>

回調函數。當編輯框的屬性值獲取成功,err為undefined,data為編輯框屬性值;否則為錯誤對象。

示例:

  1. textInputClient.getEditorAttribute((err, editorAttribute) => {
  2. if (err !== undefined) {
  3. console.error('Failed to getEditorAttribute: ' + JSON.stringify(err));
  4. return;
  5. }
  6. console.log('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern));
  7. console.log('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType));
  8. });

getEditorAttribute(deprecated)

getEditorAttribute(): Promise<EditorAttribute>

獲取編輯框屬性值。使用promise異步回調。

說明

從API version 8開始支持,API version 9開始廢棄, 建議使用getEditorAttribute替代。

系統(tǒng)能力: SystemCapability.MiscServices.InputMethodFramework

返回值:

類型

說明

Promise<EditorAttribute>

Promise對象,返回編輯框屬性值。

示例:

  1. textInputClient.getEditorAttribute().then((editorAttribute) => {
  2. console.info('editorAttribute.inputPattern: ' + JSON.stringify(editorAttribute.inputPattern));
  3. console.info('editorAttribute.enterKeyType: ' + JSON.stringify(editorAttribute.enterKeyType));
  4. }).catch((err) => {
  5. console.error('Failed to getEditorAttribute: ' + JSON.stringify(err));
  6. });
  1. });
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號