From 2c2d5edbaae4358c068fbbe90b6adb58e830f4f8 Mon Sep 17 00:00:00 2001 From: Looper Date: Sun, 22 Sep 2019 18:25:39 +0330 Subject: [PATCH] added isApOn to check status of mobile hotspot --- .../devstepbcn/wifi/AndroidWifiModule.java | 28 +++++++++++++++++++ 1 file changed, 28 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..8483d9f 100644 --- a/android/src/main/java/com/devstepbcn/wifi/AndroidWifiModule.java +++ b/android/src/main/java/com/devstepbcn/wifi/AndroidWifiModule.java @@ -30,6 +30,7 @@ import android.widget.Toast; import java.util.List; import java.lang.Thread; +import java.lang.reflect.Method; import android.net.DhcpInfo; import org.json.JSONArray; @@ -476,6 +477,33 @@ public void getDhcpServerAddress(Callback callback) { callback.invoke(ip); } + private boolean _isApOn() { + try { + if (this.canwriteFlag) { + Method method = wifi.getClass().getDeclaredMethod("isWifiApEnabled"); + method.setAccessible(true); + return (Boolean) method.invoke(wifi); + } else { + this.forceWifiUsage(true); + this._isApOn() + } + } catch (Throwable e) { + return false; + } + } + + @ReactMethod + public void isApOn(Callback successCallback, Callback errorCallback) { + try { + Method method = wifi.getClass().getDeclaredMethod("isWifiApEnabled"); + method.setAccessible(true); + successCallback.invoke(_isApOn()); + + } catch (Throwable e) { + errorCallback.invoke(e.getMessage()); + } + } + public static String longToIP(int longIp){ StringBuffer sb = new StringBuffer(""); String[] strip=new String[4];