Android系统开发打开WiFi热点:
packages\apps\Settings\src\com\mediatek\wifi\hotspot\TetherWifiSettings.java
frameworks\base\wifi\java\android\net\wifi\WifiConfiguration.java
frameworks\base\wifi\java\android\net\wifi\WifiManager.java
import android.net.wifi.WifiManager;
WifiManager mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
mWifiManager.setWifiApEnabled(null,flag);
flag = true的时候是打开hotspot ,flag =false 是关闭hotspot;setWifiApEnabled接口为@hide。
转:
1. 看我如何得到这个工作在Android 2.3的wifi热点的API。
2. 之前调用的方法“setWifiApEnabled”你需要调用“getWifiApConfiguration”来获取默认WifiConfiguration 然后更改SSID和密码,然后调用“setWifiApConfiguration”与修改后的WifiConfiguration和调用后“setWifiApEnabled” 这里是代码。
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration netConfig = new WifiConfiguration();
netConfig.SSID = "MyAccessPoint";
Method method = wifi.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);
method.invoke(wifi, netConfig, true);
import android.net.wifi.WifiManager;
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
getWifiConfig = wifi.getClass().getMethod("getWifiApConfiguration",null);
WifiConfiguration myConfig = (WifiConfiguration) getWifiConfig.invoke(wifi,null);
myConfig.SSID = "Hello World";
setWifiConfig = wifi.getClass().getMethod("setWifiApConfiguration",WifiConfiguration.class);
setWifiConfig.invoke(wifi,new Object[]{myConfig,true});
enableWifi = wifi.getClass().getMethod("setWifiEnabled",WifiConfiguration.class,boolean.class);
enableWifi.invoke(wifi,null,true);