Android WiFi usage

Source: Internet
Author: User
Tags bssid

In Android, all WiFi operations are performed in android.net. wiFi bag, And the commonly used classes only use a few. For general developers, the commonly used operations are also limited and do not need to be deliberately remembered, when I use it, I can check it now. The following is an example of WiFi in the secrets of Android Application Development. I personally feel that it is quite complete. I 'd like to share it with you!

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 package
com.yarin.android.Examples_08_08;
import
java.util.List;
import
android.content.Context;
import
android.net.wifi.ScanResult;
import
android.net.wifi.WifiConfiguration;
import
android.net.wifi.WifiInfo;
import
android.net.wifi.WifiManager;
import
android.net.wifi.WifiManager.WifiLock;
public
class
WifiAdmin {     // Define the wifimanager object
    private
WifiManager mWifiManager;     // Define the wifiinfo object
    private
WifiInfo mWifiInfo;     // List of scanned Network Connections
    private
List<ScanResult> mWifiList;     // Network connection list
    private
List<WifiConfiguration> mWifiConfiguration;     // Define a wifilock
    WifiLock mWifiLock;
    // Constructor
    public 
WifiAdmin(Context context)     {
        // Obtain the wifimanager object
        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
        // Obtain the wifiinfo object
        mWifiInfo = mWifiManager.getConnectionInfo();
    }
    // Enable WiFi
    public
void OpenWifi()     {
        if
(!mWifiManager.isWifiEnabled())         {
            mWifiManager.setWifiEnabled(true);
                      }
    }
    // Disable WiFi
    public
void CloseWifi()     {
        if
(!mWifiManager.isWifiEnabled())         {
            mWifiManager.setWifiEnabled(false); 
        }
    }
    // Lock wifilock
    public
void AcquireWifiLock()
    {
        mWifiLock.acquire();
    }
    // Unlock wifilock
    public
void ReleaseWifiLock()
    {
        // Lock upon judgment
        if
(mWifiLock.isHeld())         {
            mWifiLock.acquire();
        }
    }
    // Create a wifilock
    public
void CreatWifiLock()     {
        mWifiLock = mWifiManager.createWifiLock("Test");
    }
    // Obtain the configured network
    public
List<WifiConfiguration> GetConfiguration()     {
        return
mWifiConfiguration;     }
    // Specify the configured network for connection
    public
void ConnectConfiguration(int
index)     {
        // Returns an index larger than the configured network index
        if(index > mWifiConfiguration.size())
        {
            return;
        }
        // Connect the network with the specified ID
        mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,
true);     }
    public
void StartScan()     {
        mWifiManager.startScan();
        // Obtain the scan result
        mWifiList = mWifiManager.getScanResults();
        // Obtain the configured network connection
        mWifiConfiguration = mWifiManager.getConfiguredNetworks();
    }
    // Obtain the Network List
    public
List<ScanResult> GetWifiList()     {
        return
mWifiList;     }
    // View scan results
    public
StringBuilder LookUpScan()     {
        StringBuilder stringBuilder =
new StringBuilder();
        for
(int
i =
0; i < mWifiList.size(); i++)
        {
            stringBuilder.append("Index_"+new
Integer(i + 1).toString() +
":");             // Convert scanresult information into a string package
            // Include bssid, SSID, capabilities, frequency, and level
            stringBuilder.append((mWifiList.get(i)).toString());
            stringBuilder.append("/n");
        }
        return
stringBuilder;     }
    // Obtain the MAC address
    public
String GetMacAddress()     {
        return
(mWifiInfo == null) ?
"NULL" : mWifiInfo.getMacAddress();
    }
    // Obtain the bssid of the Access Point
    public
String GetBSSID()     {
        return
(mWifiInfo == null) ?
"NULL" : mWifiInfo.getBSSID();
    }
    // Obtain the IP address
    public
int GetIPAddress()     {
        return
(mWifiInfo == null) ?
0 : mWifiInfo.getIpAddress();
    }
    // Obtain the connection ID
    public
int GetNetworkId()     {
        return
(mWifiInfo == null) ?
0 : mWifiInfo.getNetworkId();
    }
    // Obtain all information packages of wifiinfo
    public
String GetWifiInfo()     {
        return
(mWifiInfo == null) ?
"NULL" : mWifiInfo.toString();
    }
    // Add a network and connect
    public
void AddNetwork(WifiConfiguration wcg)
    {
        int
wcgID = mWifiManager.addNetwork(wcg);          mWifiManager.enableNetwork(wcgID,
true);      }
    // Disconnect the network with the specified ID
    public
void DisconnectWifi(int
netId)     {
        mWifiManager.disableNetwork(netId);
        mWifiManager.disconnect();
    }
}

With these methods, I think you can refer to general WiFi operations.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.