1. 程式人生 > >開啟Wifi和熱點時的互斥關係

開啟Wifi和熱點時的互斥關係

Wifi和熱點不能同時開啟:

因此在開啟Wifi時需要先關閉熱點,開啟熱點時需要先關閉Wifi


開啟和關閉熱點:

/**
     * Wifi熱點開關. Wifi和熱點不能同時開啟,所以開啟Wifi的時候需要關閉熱點
     * 
     * @author jiangping.li
     * @return
     * @since MT 1.0
     */
    public boolean setWifiApEnabled(boolean enabled) {
        Method method1 = null;
        // 通過反射呼叫設定熱點
        Method method;
        try {
            method = mWifiManager.getClass().getMethod("setWifiApEnabled",
                    WifiConfiguration.class, Boolean.TYPE);
            WifiConfiguration apConfig = null;
            if (enabled){
                //開啟熱點,配置config,此處省略.
                apConfig = new WifiConfiguration();
                ....
                ....
            }
            // 返回熱點設定狀態
            return (Boolean)method.invoke(mWifiManager, apConfig, false);
        } catch (NoSuchMethodException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        return true;
    }


開啟和關閉wifi:

public boolean setWifiApEnabled(boolean enabled) {
    mWifiManager.setWifiEnabled(enabled);  
    return enabled;
}