Я пытаюсь создать плагин cordova, который «прослушивает» любое событие onKeyUp
и передает keyCode
функции обратного вызова.Плагин Cordova для передачи ключевого кода события keyUp в приложение
Цель обнаружить любое нажатие клавиши, которая приходит от внешней клавиатуры/штрих-сканера - любой символ (например, 0,1,2,3 ... а, Ь, с, ...)
Мои проблема заключается в следующем: как добавить слушателя onKeyUp
?
Вот то, что я до сих пор:
package il.co.pnc.cordova.keystrokes;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaInterface;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.PluginResult;
import android.view.View;
import android.view.View.OnKeyListener;
import android.view.KeyEvent;
public class keystrokes extends CordovaPlugin {
private CallbackContext callback = null;
@Override
public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException {
// Defining the callback
if ("register".equals(action)) {
this.callback = callbackContext;
}
return true;
}
}
// *** My problem is - I don't know where to put this:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
// Grab the "Key" character
String key = "";
if (event != null) {
key = String.valueOf((char)event.getUnicodeChar());
} else {
key = String.valueOf(Character.toChars(keyCode)[0]);
}
// Submit it back to the Javascript Callback function
/*PluginResult result = new PluginResult(PluginResult.Status.OK, key);
result.setKeepCallback(true);
this.callback.sendPluginResult(result);*/
// Pass on the event to Android
return super.onKeyUp(keyCode, event);
}
Таким образом, я не куда поместить onKeyUp
. Насколько я знаю, это должно быть частью основной деятельности ...?