@@ -85,6 +85,8 @@ public String getName() {
8585 return "GET_ACCOUNTS" ;
8686 if (permission .equals ("android.permission.PROCESS_OUTGOING_CALLS" ))
8787 return "PROCESS_OUTGOING_CALLS" ;
88+ if (permission .equals ("android.permission.POST_NOTIFICATIONS" ))
89+ return "POST_NOTIFICATIONS" ;
8890 if (permission .equals ("android.permission.READ_CALENDAR" ))
8991 return "READ_CALENDAR" ;
9092 if (permission .equals ("android.permission.READ_CALL_LOG" ))
@@ -141,16 +143,13 @@ private boolean permissionExists(final String permission) {
141143
142144 @ ReactMethod
143145 public void checkNotifications (final Promise promise ) {
144- final boolean enabled = NotificationManagerCompat
145- .from (getReactApplicationContext ()).areNotificationsEnabled ();
146-
147- final WritableMap output = Arguments .createMap ();
148- final WritableMap settings = Arguments .createMap ();
149-
150- output .putString ("status" , enabled ? GRANTED : BLOCKED );
151- output .putMap ("settings" , settings );
146+ if (Build .VERSION .SDK_INT < Build .VERSION_CODES .TIRAMISU ) {
147+ this .checkNotificationsCompat (promise );
148+ return ;
149+ }
152150
153- promise .resolve (output );
151+ String fieldName = this .getFieldName ("android.permission.POST_NOTIFICATIONS" );
152+ this .checkPermission (fieldName , promise );
154153 }
155154
156155 @ ReactMethod
@@ -368,6 +367,19 @@ public boolean onRequestPermissionsResult(int requestCode, String[] permissions,
368367 return mCallbacks .size () == 0 ;
369368 }
370369
370+ private void checkNotificationsCompat (final Promise promise ) {
371+ final boolean enabled = NotificationManagerCompat
372+ .from (getReactApplicationContext ()).areNotificationsEnabled ();
373+
374+ final WritableMap output = Arguments .createMap ();
375+ final WritableMap settings = Arguments .createMap ();
376+
377+ output .putString ("status" , enabled ? GRANTED : BLOCKED );
378+ output .putMap ("settings" , settings );
379+
380+ promise .resolve (output );
381+ }
382+
371383 private PermissionAwareActivity getPermissionAwareActivity () {
372384 Activity activity = getCurrentActivity ();
373385 if (activity == null ) {
0 commit comments