想要在 android 中使用键盘时触发 activity 并在键盘关闭时停止它并传递一个值?

want to trigger an activity when the keyboard is used in android and stop it and pass a value when the keyboard is closes?

我在 android 中创建了自己的输入法,因为我想触发此 activity 以在它开始时计算退格键 运行 并在用户关闭时发送一个值键盘?有办法吗?

注意:onKeyListener 不适用于软键盘

您可以为您的 editText 设置 OnKeyListener,这样您就可以检测任何按键 编辑:我们正在检查 KeyEvent.KEYCODE_BACK 退格键的一个常见错误,但实际上是 KeyEvent.KEYCODE_DEL(这个名字真的很混乱!)

editText.setOnKeyListener(new OnKeyListener() {                 
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        //You can identify which key pressed buy checking keyCode value with KeyEvent.KEYCODE_
         if(keyCode == KeyEvent.KEYCODE_DEL){  
             //this is for backspace
             }
    return false;       
        }
});

在您的 IME 的 onKey() 方法中记录退格键的数量。

@Override
public void onKey(int primaryCode, int[] ints) {
    -----
    -----
    if (primaryCode == Keyboard.KEYCODE_DELETE){
        count++;
    }
    ----
    ----
}

onStartInputView() 方法中重置此计数器。

现在在 onFinishInput() 方法中,触发你想要的 activity 并将退格键的数量作为额外的。

@Override
 public void onFinishInput(){
    Intent intent = new Intent(getApplicationContext(),MyActivity.class);
    intent.putExtra("backspace_count",count);
    startActivity(intent);
    super.onFinish();
}

我希望这就是您要实现的目标。