From 94bc143370a52237d66c94072c6de98fc209b057 Mon Sep 17 00:00:00 2001 From: Fabian Diener Date: Mon, 20 Apr 2020 13:13:44 +0200 Subject: [PATCH] Add function to open tethering settings --- README.md | 3 +++ .../androidopensettings/AndroidOpenSettings.java | 13 ++++++++++++- index.d.ts | 1 + index.js | 3 +++ 4 files changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 41a0314..f326f72 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,9 @@ AndroidOpenSettings.locationSourceSettings() // Open wireless settings menu AndroidOpenSettings.wirelessSettings() +// Open tethering settings menu +AndroidOpenSettings.tetheringSettings() + // Open airplane mode settings menu AndroidOpenSettings.airplaneModeSettings() diff --git a/android/src/main/java/com/levelasquez/androidopensettings/AndroidOpenSettings.java b/android/src/main/java/com/levelasquez/androidopensettings/AndroidOpenSettings.java index 97f57a9..a7d7298 100644 --- a/android/src/main/java/com/levelasquez/androidopensettings/AndroidOpenSettings.java +++ b/android/src/main/java/com/levelasquez/androidopensettings/AndroidOpenSettings.java @@ -32,7 +32,7 @@ public void generalSettings() { reactContext.startActivity(intent); } } - + @ReactMethod public void homeSettings() { Intent intent = new Intent(Settings.ACTION_HOME_SETTINGS); @@ -84,6 +84,17 @@ public void wirelessSettings() { } } + @ReactMethod + public void tetheringSettings() { + Intent intent = new Intent(); + intent.setClassName("com.android.settings", "com.android.settings.TetherSettings"); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); + if (intent.resolveActivity(reactContext.getPackageManager()) != null) { + reactContext.startActivity(intent); + } + } + @ReactMethod public void airplaneModeSettings() { Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS); diff --git a/index.d.ts b/index.d.ts index cdb6e2c..56acb0f 100644 --- a/index.d.ts +++ b/index.d.ts @@ -5,6 +5,7 @@ declare module "react-native-android-open-settings" { const wifiSettings: () => void; const locationSourceSettings: () => void; const wirelessSettings: () => void; + const tetheringSettings: () => void; const airplaneModeSettings: () => void; const apnSettings: () => void; const bluetoothSettings: () => void; diff --git a/index.js b/index.js index 2d6156d..1a43fd2 100644 --- a/index.js +++ b/index.js @@ -14,6 +14,8 @@ const locationSourceSettings = () => RNAndroidOpenSettings.locationSourceSetting const wirelessSettings = () => RNAndroidOpenSettings.wirelessSettings() +const tetheringSettings = () => RNAndroidOpenSettings.tetheringSettings() + const airplaneModeSettings = () => RNAndroidOpenSettings.airplaneModeSettings() const apnSettings = () => RNAndroidOpenSettings.apnSettings() @@ -49,6 +51,7 @@ module.exports = { wifiSettings, locationSourceSettings, wirelessSettings, + tetheringSettings, airplaneModeSettings, apnSettings, bluetoothSettings,