Android 获取便携式wifi热点开关状态、热点开启与关闭

最近做了这两个功能:

1.获取便携式wifi热点开关状态;

2.热点的开启与关闭。

第二个功能就不用说了,,百度一搜一大把;第一个功能,在百度基本找不到,最后我是在google找到的,getWifiApState()这个方法我也不懂是什意思,麻烦知道的指点一下,谢谢。第一次写博,不知道怎样更改代码格式,看的不爽还请见谅。

原创博客,装载注明地址:

直接上代码了,两个功能的方法我放在一起了:

// 权限:<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />/** * WIFI热点业务类 * @author wlh * */public class WifiHostBiz {private final String TAG = "WifiHostBiz";private WifiManager wifiManager;private String WIFI_HOST_SSID = "AndroidAP";private String WIFI_HOST_PRESHARED_KEY = "12345678";// 密码必须大于8位数public WifiHostBiz(Context context) {super();//获取wifi管理服务wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);}/**判断热点开启状态*/public boolean isWifiApEnabled() {return getWifiApState() == WIFI_AP_STATE.WIFI_AP_STATE_ENABLED;}private WIFI_AP_STATE getWifiApState(){int tmp;try {Method method = wifiManager.getClass().getMethod("getWifiApState");tmp = ((Integer) method.invoke(wifiManager));// Fix for Android 4if (tmp > 10) {tmp = tmp – 10;}return WIFI_AP_STATE.class.getEnumConstants()[tmp];} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();return WIFI_AP_STATE.WIFI_AP_STATE_FAILED;}}public enum WIFI_AP_STATE {WIFI_AP_STATE_DISABLING, WIFI_AP_STATE_DISABLED, WIFI_AP_STATE_ENABLING, WIFI_AP_STATE_ENABLED, WIFI_AP_STATE_FAILED}/** * wifi热点开关 * @param enabledtrue:打开 false:关闭 * @returntrue:成功 false:失败 */public boolean setWifiApEnabled(boolean enabled) {System.out.println(TAG + ":开启热点");if (enabled) { // disable WiFi in any case//wifi和热点不能同时打开,所以打开热点的时候需要关闭wifiwifiManager.setWifiEnabled(false);System.out.println(TAG + ":关闭wifi");}else{wifiManager.setWifiEnabled(true);}try {//热点的配置类WifiConfiguration apConfig = new WifiConfiguration();//配置热点的名称(可以在名字后面加点随机数什么的)apConfig.SSID = WIFI_HOST_SSID;//配置热点的密码apConfig.preSharedKey = WIFI_HOST_PRESHARED_KEY;//安全:WPA2_PSKapConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);//通过反射调用设置热点Method method = wifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, Boolean.TYPE);//返回热点打开状态return (Boolean) method.invoke(wifiManager, apConfig, enabled);} catch (Exception e) {return false;}}}

累死累活不说,走马观花反而少了真实体验,

Android 获取便携式wifi热点开关状态、热点开启与关闭

相关文章:

你感兴趣的文章:

标签云: