From 63523980bcf24e1910c90a9f1fdefb4946f43df7 Mon Sep 17 00:00:00 2001 From: Andrew Havens Date: Mon, 9 Sep 2019 17:18:20 -0700 Subject: [PATCH] Add method to check state of canWrite permission --- .../com/devstepbcn/wifi/AndroidWifiModule.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/android/src/main/java/com/devstepbcn/wifi/AndroidWifiModule.java b/android/src/main/java/com/devstepbcn/wifi/AndroidWifiModule.java index e5518ee..9489a85 100644 --- a/android/src/main/java/com/devstepbcn/wifi/AndroidWifiModule.java +++ b/android/src/main/java/com/devstepbcn/wifi/AndroidWifiModule.java @@ -36,6 +36,8 @@ import org.json.JSONException; import org.json.JSONObject; +import com.facebook.react.bridge.Promise; + public class AndroidWifiModule extends ReactContextBaseJavaModule { //WifiManager Instance @@ -91,6 +93,20 @@ public void loadWifiList(Callback successCallback, Callback errorCallback) { } } + //Returns a promise that resolves a boolean of wether or not the canWrite + //permission has been granted + @ReactMethod + public void checkCanWrite(Promise promise) { + boolean canWrite = true; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N || Build.VERSION.RELEASE.toString().equals("6.0.1")) { + // In versions >= 6.0.1, we no longer need to request permission to write to settings. + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + // In version 6.0.0, we need to request permission to write to settings in order to forceWifi. + canWrite = Settings.System.canWrite(reactContext); + } + promise.resolve(canWrite); + } + //Method to force wifi usage if the user needs to send requests via wifi //if it does not have internet connection. Useful for IoT applications, when //the app needs to communicate and send requests to a device that have no