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(); }