I have an activity called "Signature" and I call it from CordovaPlugin;
Plugin.java
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { Intent i = new Intent(context, Signature.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); cordova.startActivityForResult(this,i,90); } public void onActivityResult(int requestCode, int resultCode, Intent intent) { Log.d(TAG, "activity result in plugin: requestCode(" + requestCode + "), resultCode(" + resultCode + ")"); if(requestCode == 90) { if (resultCode == this.cordova.getActivity().RESULT_OK) { Bundle res = intent.getExtras(); String result = res.getString("results"); Log.d("FIRST", "result:"+result); this.callbackContext .success(result.toString()); } else { this.callbackContext.error("Error"); } }
Signature.java
private void finishWithResult(String result,int status) { Bundle conData = new Bundle(); conData.putString("results", result); Intent intent = new Intent(); intent.putExtras(conData); setResult(status, intent); finish(); }
However, when I call the function "cordova.startActivityForResult", the onActivityResult function immediately calls it. I cannot call back from Activity via finishWithResult. Any advice. Thanks
source share