diff --git a/src/camera.android.ts b/src/camera.android.ts index 3ace553..53a74d5 100644 --- a/src/camera.android.ts +++ b/src/camera.android.ts @@ -82,6 +82,9 @@ export let takePicture = function (options?): Promise { let appModule: typeof applicationModule = require("tns-core-modules/application"); + // Remove previous listeners if any + appModule.android.off("activityResult"); + appModule.android.on("activityResult", (args) => { const requestCode = args.requestCode; const resultCode = args.resultCode; @@ -125,6 +128,9 @@ export let takePicture = function (options?): Promise { keepAspectRatio: shouldKeepAspectRatio }; resolve(asset); + } else if (resultCode === android.app.Activity.RESULT_CANCELED) { + // User cancelled the image capture + reject("cancelled"); } });