diff --git a/android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java b/android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
index 1f5535e62366a6be98bf6cc484784f2cd468c61e..33a13bf94c95b8070bcb9cdd65fcceefa1e8c2ce 100644
--- a/android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
+++ b/android/src/main/java/com/wix/reactnativenotifications/RNNotificationsModule.java
@@ -5,6 +5,7 @@ import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.support.v4.app.NotificationManagerCompat;
import android.util.Log;
import com.facebook.react.bridge.Arguments;
@@ -89,6 +90,12 @@ public class RNNotificationsModule extends ReactContextBaseJavaModule implements
notificationsDrawer.onNotificationClearRequest(notificationId);
}
+ @ReactMethod
+ public void isRegisteredForRemoteNotifications(Promise promise) {
+ boolean hasPermission = NotificationManagerCompat.from(getReactApplicationContext()).areNotificationsEnabled();
+ promise.resolve(new Boolean(hasPermission));
+ }
+
@Override
public void onAppVisible() {
final IPushNotificationsDrawer notificationsDrawer = PushNotificationsDrawer.get(getReactApplicationContext().getApplicationContext());
diff --git a/example/index.android.js b/example/index.android.js
index 5681d187c4c646127f6b07d99c8394825bb363aa..23d9defa0e5bb6fcddeaabfbbf8360f798a3873c 100644
--- a/example/index.android.js
+++ b/example/index.android.js
@@ -126,10 +126,22 @@ class MainComponent extends Component {
this.onCancelNotification()}>
Undo last
+ this.onCheckPermissions()}>
+ Check permissions
+
)
}
+ async onCheckPermissions() {
+ const hasPermissions = await NotificationsAndroid.isRegisteredForRemoteNotifications();
+ if (hasPermissions) {
+ alert('Yay! You have permissions');
+ } else {
+ alert('Boo! You don\'t have permissions');
+ }
+ }
+
onPushRegistered() {
}
diff --git a/index.android.js b/index.android.js
index 03fbe0d45374b0ae591e111857dce04dc913856e..324d23adb87fbb9ae0db6187dc7135b73860a4aa 100644
--- a/index.android.js
+++ b/index.android.js
@@ -41,6 +41,10 @@ export class NotificationsAndroid {
}
}
+ static async isRegisteredForRemoteNotifications() {
+ return await RNNotifications.isRegisteredForRemoteNotifications();
+ }
+
static refreshToken() {
RNNotifications.refreshToken();
}