@Override public boolean execute(String action, JSONArray args, final CallbackContext callbackContext) throws JSONException { // starting on ICS, some WebView methods // can only be called on UI threads mCallbackContext = callbackContext; mAction = action; mArgs = args; if (action.equals("saveScreenshot")) { if (PermissionHelper.hasPermission(this, PERMISSIONS[0])) { saveScreenshot(); } else { PermissionHelper.requestPermissions(this, SAVE_SCREENSHOT_SEC, PERMISSIONS); } return true; } else if (action.equals("getScreenshotAsURI")) { if (PermissionHelper.hasPermission(this, PERMISSIONS[0])) { getScreenshotAsURI(); } else { PermissionHelper.requestPermissions(this, SAVE_SCREENSHOT_URI_SEC, PERMISSIONS); } return true; } callbackContext.error("action not found"); return false; }