2015-05-09 225 views
0

我想将它设置为ssidpassword,因为我想与某些设备共享该热点。 我使用下面的代码工作正常,我,但我无法设置热点的密码。如何在android中设置受保护的热点(带密码)

if (wm.isWifiEnabled()) { 
        wm.setWifiEnabled(false); 
       } 
       WifiConfiguration wifiCon = new WifiConfiguration(); 
       wifiCon.SSID = "UsmanAp"; 
       wifiCon.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); 
       wifiCon.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
       wifiCon.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 
       wifiCon.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
       try{ 
        Method setWifiApMethod = wm.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class); 
        boolean apstatus=(Boolean) setWifiApMethod.invoke(wm, wifiCon,true); 
        Method isWifiApEnabledmethod = wm.getClass().getMethod("isWifiApEnabled"); 
        while(!(Boolean)isWifiApEnabledmethod.invoke(wm)){}; 
        Method getWifiApStateMethod = wm.getClass().getMethod("getWifiApState"); 
        int apstate=(Integer)getWifiApStateMethod.invoke(wm); 
        Method getWifiApConfigurationMethod = wm.getClass().getMethod("getWifiApConfiguration"); 
        wifiCon=(WifiConfiguration)getWifiApConfigurationMethod.invoke(wm); 
       } catch (Exception e) { 
        Log.e(this.getClass().toString(), "", e); 
       } 

在上面的代码中添加了什么来设置热点的密码。

-Usman

回答

5

您没有设置preSharedKey,这是WPA密码。 allowedKeyManagement也应设置为WifiConfiguration.KeyMgmt.WPA_PSK

WifiConfiguration wifiCon = new WifiConfiguration(); 
wifiCon.SSID = "UsmanAp"; 
wifiCon.preSharedKey = "password"; 
wifiCon.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED); 
wifiCon.allowedProtocols.set(WifiConfiguration.Protocol.RSN); 
wifiCon.allowedProtocols.set(WifiConfiguration.Protocol.WPA); 
wifiCon.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); 
try 
{ 
    Method setWifiApMethod = wm.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class); 
    boolean apstatus=(Boolean) setWifiApMethod.invoke(wm, wifiCon,true); 
} 
catch (Exception e) 
{ 
    Log.e(this.getClass().toString(), "", e); 
} 
+0

谢谢。 。 。 。 。 。 。 。 .. –