diff --git a/src/index.ts b/src/index.ts index f8f5a265..ad0223ab 100644 --- a/src/index.ts +++ b/src/index.ts @@ -413,6 +413,10 @@ export namespace OneSignal { if (!isNativeModuleLoaded(RNOneSignal)) { return Promise.reject(new Error('OneSignal native module not loaded')); } + // if permission already exists, return early as the native call will not resolve + if (hasPermission()) { + return Promise.resolve(true); + } return RNOneSignal.requestNotificationPermission(fallbackToSettings); }