androidandroid-wifitetheringhotspot

Is there a way to read/write tethering (wifi) on an android phone programmatically?


Is there any way to read/write Pre-defined default configure Mobile hotspot data such as Network name, security, password by programmatically.

Thanks in advance


Solution

  • I got solution for above question,

    private void HotspotDataWrite() {
            WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE);
    
            if(wifiManager.isWifiEnabled())
            {
                wifiManager.setWifiEnabled(false);
            }
    
            netConfig = new WifiConfiguration();
    
    
            netConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
            netConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
            netConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
            netConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
            netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
            netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
            netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
            netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
            netConfig.SSID = "EASi";
            netConfig.preSharedKey = "Sharath";
    
    
            try{
    
                Method setWifiApMethod = wifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
                boolean apstatus=(Boolean) setWifiApMethod.invoke(wifiManager, netConfig,true);
    
                Method isWifiApEnabledmethod = wifiManager.getClass().getMethod("isWifiApEnabled");
                while(!(Boolean)isWifiApEnabledmethod.invoke(wifiManager)){};
    
                Method getWifiApStateMethod = wifiManager.getClass().getMethod("getWifiApState");
                int apstate=(Integer)getWifiApStateMethod.invoke(wifiManager);
    
                Method getWifiApConfigurationMethod = wifiManager.getClass().getMethod("getWifiApConfiguration");
                netConfig=(WifiConfiguration)getWifiApConfigurationMethod.invoke(wifiManager);
    
                Log.i("Writing HotspotData", "\nSSID:"+netConfig.SSID+"\nPassword:"+netConfig.preSharedKey+"\n");
    
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }