Cordova Android Pluginクラスを作る
最終更新日:2015-08-13
Plugin開発の準備でAndroid Studioでの開発準備ができたところで、早速Plugin用クラスを作成しましょう。
CordovaPluginを継承する
パッケージ名やクラス名は適当で、CordovaPluginを継承したクラスを作成します。
public class MyPlugin extends CordovaPlugin {
}
execute()を実装する
JavaScriptのcordova.exec()
から呼ばれるexecute()を実装します。
@Override
public boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {
if ("myFunc".equals(action)) {
myFunc(args, callbackContext);
return true;
}
return super.execute(action, args, callbackContext);
}
第1引数のactionは、cordova.exec()の第4引数で指定した文字列が渡されます。cordova.exec()の第5引数で指定した値は、第2引数のCordovaArgsとして渡されます。
execute()の結果として、trueを返すと正常処理、falseを返すとaction不明のエラーとして呼び出し元に伝えられます。
結果をJavaScript側に伝える
execute()の結果をJavaScriptに伝えるには、execute()の第3引数で渡されるCallbackContextのメソッドを呼びます。
private void myFunc(CordovaArgs args, CallbackContext callbackContext) {
Log.v("Plugin", "myFunc is called!");
callbackContext.success("OK");
}