What is the API call I need to make in Android 2.2 (Froyo) to create a Wifi hotspot (as seen in the Tethering and Portable Hotspot settings item).
There does not appear to be an API call to create a WiFi hotspot -- sorry!
You can call public boolean setWifiApEnabled(WifiConfiguration wifiConfig, boolean enabled); using reflection :)
after getting the WifiManager use the reflection to get the WifiManager declared methods, look for this method name "setWifiApEnabled" and invoke it through the WifiManager object
These API are marked as @hide, so currently you cannot use them directly, but they appear on the AIDL for the WifiManager so their are accessible!
An example can be:
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
Method[] wmMethods = wifi.getClass().getDeclaredMethods();
for(Method method: wmMethods){
if(method.getName().equals("setWifiApEnabled")){
WifiConfiguration netConfig = new WifiConfiguration();
netConfig.SSID = "\"PROVAAP\"";
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.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
netConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
netConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
try {
method.invoke(wifi, netConfig,true);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
It works but I cannot change the current configuration with my own, and getting the current WifiConfiguration of an active AP drive me to an empty configuration.Why?
Hi All,
I'm a newbie on Android. Please tell me what APIs to build applications that make my Android device (Nexus one) to tether or can use it as a mobile hotspot.
If there is no API that support to do this task. Please tell me what technique/mechanism exits at this point to manage all connections (by my own program) from "Portable Wi-Fi Hotspot". Where "Portable Wi-Fi Hotspot" is described in the link below:
Please help me. Thank you. Please forgive for my bad english !
Hi CommonsWare,
Thanks for your quick answer.
Please tell me how to approach to the solution, such as from Andriod NDK, Linux Kernel,...to
solve my problem.
Please help me.
Thank you!
Please forgive for my bad english!