Android - 连接到指定的wifi并检查SSID

时间:2016-09-28 05:10:51

标签: java android wifi

我试图检查手机是否连接到所需的wifi都没有?所以,我使用这段代码。

(wifiInfo.getSSID().equals("WiredSSID"))

但它不起作用。当我尝试制作吐司名称时,它仍会显示" WiredSSID"。所以,我不知道哪一点是错的。

此外,如何自动连接到Captive Portal Wifi。我使用How do I connect to a specific Wi-Fi network in Android programmatically?

中的代码

将其设置为OPEN类型(conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);)并将其置于OnCreate函数中,但它无法正常工作。我不知道我应该改变网络类型吗?请帮帮我,谢谢

2 个答案:

答案 0 :(得分:1)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" indent="yes"/>
    <xsl:strip-space elements="*"/>       

    <xsl:template match="/">
        <xsl:text> ID       | Value</xsl:text>
        <xsl:text>&#x0A;</xsl:text>
        <!-- Choose the nodes you want to output here.
             you can directly place the conditions
             in an attribute -->
        <xsl:apply-templates select="ValuesList/Values[Language[@DimensionID='Language']]"/>
    </xsl:template>

    <xsl:template match="Values">
        <xsl:apply-templates select="ValueGroup[count(Value)=1 and Value/@QualifierID='std.lang.all']"/>
    </xsl:template>

    <xsl:template match="ValueGroup">
        <xsl:value-of select="concat(ancestor::Values/@ID,'  |',Value,'&#x0A;')"/>
    </xsl:template>

</xsl:stylesheet>

请注意引号。字符串应包含引号中的ssid。

答案 1 :(得分:1)

您可以尝试以下代码段来检查可用的wifi网络并连接到指定的wifi网络

         List<ScanResult> wifiScanList = wifi.getScanResults();
         wifis = new String[wifiScanList.size()];

         for(int i = 0; i < wifiScanList.size(); i++){
            wifis[i] = ((wifiScanList.get(i)).SSID);                

            if(wifis[i].equals("WiredSSID")) {

                 WifiConfiguration wifiConfig = new WifiConfiguration();
                 wifiConfig.SSID = String.format("\"%s\"", wifis[i]);
                 wifiConfig.preSharedKey = String.format("\"%s\"", "password");

                 WifiManager wifiManager = (WifiManager)getSystemService(WIFI_SERVICE);
                 //remember id
                 int netId = wifiManager.addNetwork(wifiConfig);
                 wifiManager.disconnect();
                 wifiManager.enableNetwork(netId, true);
                 wifiManager.reconnect();
             }
         }
相关问题