Skip to content

Commit 679d20b

Browse files
authored
Merge pull request #9 from mmccartney/master
add appNotificationSettings()
2 parents d9def54 + d5c301f commit 679d20b

File tree

4 files changed

+25
-0
lines changed

4 files changed

+25
-0
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,4 +118,7 @@ AndroidOpenSettings.applicationSettings()
118118
119119
// Open device info settings menu
120120
AndroidOpenSettings.deviceInfoSettings()
121+
122+
// Open application notification settings menu
123+
AndroidOpenSettings.appNotificationSettings()
121124
```

android/src/main/java/com/levelasquez/androidopensettings/AndroidOpenSettings.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,4 +213,22 @@ public void deviceInfoSettings() {
213213
reactContext.startActivity(intent);
214214
}
215215
}
216+
217+
@ReactMethod
218+
public void appNotificationSettings() {
219+
Intent intent = new Intent("android.settings.APP_NOTIFICATION_SETTINGS"); // Settings.ACTION_APP_NOTIFICATION_SETTINGS
220+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
221+
intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
222+
223+
//for Android 5-7
224+
intent.putExtra("app_package", reactContext.getPackageName());
225+
intent.putExtra("app_uid", reactContext.getApplicationInfo().uid);
226+
227+
// for Android 8 and above
228+
intent.putExtra("android.provider.extra.APP_PACKAGE", reactContext.getPackageName()); // Settings.EXTRA_APP_PACKAGE
229+
230+
if (intent.resolveActivity(reactContext.getPackageManager()) != null) {
231+
reactContext.startActivity(intent);
232+
}
233+
}
216234
}

index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ declare module "react-native-android-open-settings" {
1818
const accessibilitySettings: () => void;
1919
const applicationSettings: () => void;
2020
const deviceInfoSettings: () => void;
21+
const appNotificationSettings: () => void;
2122
}

index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ const applicationSettings = () => RNAndroidOpenSettings.applicationSettings()
4040

4141
const deviceInfoSettings = () => RNAndroidOpenSettings.deviceInfoSettings()
4242

43+
const appNotificationSettings = () => RNAndroidOpenSettings.appNotificationSettings()
44+
4345
module.exports = {
4446
generalSettings,
4547
homeSettings,
@@ -60,4 +62,5 @@ module.exports = {
6062
accessibilitySettings,
6163
applicationSettings,
6264
deviceInfoSettings,
65+
appNotificationSettings,
6366
}

0 commit comments

Comments
 (0)