Próbuję utworzyć wtyczkę cordova, która będzie "słuchać" każdego zdarzenia onKeyUp
i przekaże keyCode
do funkcji wywołania zwrotnego.Cordova Plugin do przekazywania kodu klucza zdarzenia keyUp do aplikacji
Celem jest wykryć żadnego klawisza, który pochodzi z zewnętrznej klawiatury/skaner kodów kreskowych - dowolny znak (np 0,1,2,3 ... a, b, c, ...)
My problemem jest: jak dodać detektor onKeyUp
?
Oto co mam do tej pory:
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);
}
Więc nie jestem, gdzie umieścić onKeyUp
. O ile mi wiadomo - powinien być częścią głównego działania ...?