diff --git a/android/bootstrap/src/io/appium/android/bootstrap/handler/TakeScreenshot.java b/android/bootstrap/src/io/appium/android/bootstrap/handler/TakeScreenshot.java index bd162a200..5e0e21391 100644 --- a/android/bootstrap/src/io/appium/android/bootstrap/handler/TakeScreenshot.java +++ b/android/bootstrap/src/io/appium/android/bootstrap/handler/TakeScreenshot.java @@ -26,8 +26,9 @@ public class TakeScreenshot extends CommandHandler { */ @Override public AndroidCommandResult execute(final AndroidCommand command) { - final boolean result = UiDevice.getInstance().takeScreenshot( - new File("/data/local/tmp/screenshot.png")); + final File screenshot = new File("/data/local/tmp/screenshot.png"); + screenshot.mkdirs(); + final boolean result = UiDevice.getInstance().takeScreenshot(screenshot); return getSuccessResult(result); } } \ No newline at end of file diff --git a/app/android.js b/app/android.js index fc376894b..7767e1ed0 100644 --- a/app/android.js +++ b/app/android.js @@ -747,9 +747,14 @@ Android.prototype.getScreenshot = function(cb) { } ], // Top level cb - function(){ + function(err, res) { + var screenshotStatus = status.codes.Success.code; + try { + screenshotStatus = res[0].value === false ? status.codes.UnknownError.code : screenshotStatus; + } catch(e) { + } cb(null, { - status: status.codes.Success.code + status: screenshotStatus , value: b64data }); });