Skip to content

jigaryadav/react-native-check-notification-enable

Repository files navigation

react-native-check-notification-enable

Check if notifications are enabled for a React Native app running on Android.

Version React Native Support Android Support iOS Support
1.3.0 0.60 9 9.0
1.2.0 0.60 9 NONE
1.1.0 0.47-0.54 8.1 NONE
1.0.4 0.46 8.1 NONE

Complies with react-native-version-support-table

Installation

First you need to install react-native-check-notification-enable:

npm install react-native-check-notification-enable --save

If your React Native version is 0.60 or higher, that's all you need to do. If not, you'll need to perform the steps described below.

Android

Automatic installation

Run the following command:

react-native link react-native-check-notification-enable

Manual installation

  • In android/settings.gradle
...
include ':react-native-check-notification-enable', ':app'
project(':react-native-check-notification-enable').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-check-notification-enable/android')
  • In android/app/build.gradle
...
dependencies {
    ...
    compile project(':react-native-check-notification-enable')
}
  • register module (in MainActivity.java)

On newer versions of React Native (0.18+):

import com.skyward.NotificationManager.NotificationManager; // <--- import

public class MainActivity extends ReactActivity {
  ......

  /**
   * A list of packages used by the app. If the app uses additional views
   * or modules besides the default ones, add more packages here.
   */
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
        new NotificationManager() // <------ add here
        new MainReactPackage());
    }
}

iOS

Automatic installation

Run the following command:

react-native link react-native-check-notification-enable

Example

Load module

var NotificationManager = require('react-native-check-notification-enable');
// for es6
import NotificationManager from 'react-native-check-notification-enable'

Check notification is enable or not

// use as a promise...
NotificationManager.areNotificationsEnabled().then((e)=>{
  console.log(e); //true or false
}).catch((e)=>{
  console.log(e);
})

// ...or an async function
const enabled = await NotificationManager.areNotificationsEnabled();

Get all global notification settings

NotificationManager.retrieveGlobalNotificationSettings().then((settings)=>{
  console.log(settings);
  // {
  //   isEnabled: boolean;
  //   isBadgeEnabled: boolean;
  //   isSoundEnabled: boolean;
  //   shownInNotificationCenter: boolean;
  //   shownInLockScreen: boolean;
  //   shownAsHeadsupDisplay: boolean;
  // }
}).catch((e)=>{
  console.log(e);
})

Get notification Channel

NotificationManager.retrieveNotificationChannels().then((ChannelArray)=>{
  console.log(ChannelArray); //[]
}).catch((e)=>{
  console.log(e);
})