KFB podstawa

MyAcessPoint.java 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.kfb.kfbv1;
  2. import android.content.Context;
  3. import android.net.wifi.WifiConfiguration;
  4. import android.net.wifi.WifiManager;
  5. import android.os.Handler;
  6. import android.util.Log;
  7. import androidx.core.util.Preconditions;
  8. import java.lang.reflect.InvocationTargetException;
  9. import java.lang.reflect.Method;
  10. public class MyAcessPoint {
  11. private static final int WIFI_AP_STATE_FAILED = 4;
  12. private WifiManager mWifiManager = null;
  13. private final String TAG = "Wifi Access Manager";
  14. private Method wifiControlMethod;
  15. private Method wifiApConfigurationMethod;
  16. private Method wifiApState;
  17. public MyAcessPoint(Context context) throws SecurityException, NoSuchMethodException {
  18. mWifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
  19. wifiControlMethod = mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
  20. wifiApConfigurationMethod = mWifiManager.getClass().getMethod("getWifiApConfiguration", null);
  21. wifiApState = mWifiManager.getClass().getMethod("getWifiApState");
  22. }
  23. public boolean setWifiApState(WifiConfiguration config, boolean enabled) {
  24. try {
  25. if (enabled) {
  26. mWifiManager.setWifiEnabled(!enabled);
  27. }
  28. return (Boolean) wifiControlMethod.invoke(mWifiManager, config, enabled);
  29. } catch (Exception e) {
  30. Log.e(TAG, "", e);
  31. return false;
  32. }
  33. }
  34. public WifiConfiguration getWifiApConfiguration() {
  35. try {
  36. return (WifiConfiguration) wifiApConfigurationMethod.invoke(mWifiManager, null);
  37. } catch (Exception e) {
  38. return null;
  39. }
  40. }
  41. public int getWifiApState() {
  42. try {
  43. return (Integer) wifiApState.invoke(mWifiManager);
  44. } catch (Exception e) {
  45. Log.e(TAG, "", e);
  46. return WIFI_AP_STATE_FAILED;
  47. }
  48. }
  49. }