Tôi đang cố tạo plugin cordova sẽ "nghe" mọi sự kiện onKeyUp
và sẽ chuyển keyCode
sang chức năng gọi lại.Cordova Plugin để chuyển mã khóa của sự kiện keyUp tới ứng dụng
Mục đích là phát hiện bất kỳ tổ hợp phím mà xuất phát từ một bàn phím/mã vạch-máy quét bên ngoài - bất kỳ ký tự (ví dụ 0,1,2,3 ... a, b, c, ...)
My vấn đề là: làm cách nào để thêm người nghe onKeyUp
?
Dưới đây là những gì tôi có cho đến nay:
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);
}
Vì vậy, tôi không phải là nơi để đặt các onKeyUp
. Theo như tôi biết - nó phải là một phần của hoạt động chính ...?