onKeyUp
イベントを「聴く」コードバスプラグインを作成しようとしており、keyCode
をコールバック関数に渡します。CordovaプラグインでkeyUpイベントのキーコードをアプリケーションに渡す
目的は、外部キーボード/バーコードスキャナから来ANYキーストローク検出で - 任意の文字を(例えば0,1,2,3 ...、B、C、...)
マイ問題は: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
を配置する場所を、私はしませんよ。私が知る限り、それは主な活動の一部でなければならない...?