📅  最后修改于: 2023-12-03 14:59:15.856000             🧑  作者: Mango
在Android开发中,连接Wifi是常见的操作。本文将介绍如何使用Android SDK连接Wifi网络,并展示一个简单的示例应用程序。
Android SDK中有一个名为WifiManager的类,它允许开发人员与Wifi网络进行交互。在应用程序中使用此类时,需要获取WifiManager实例。可以使用以下代码获取WifiManager实例:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
获取WifiManager实例后,即可使用WifiManager提供的各种方法对Wifi网络进行操作。
在这个示例应用程序中,我们将使用WifiManager连接指定的Wifi网络。此应用程序包括一个EditText和两个Button,一个用于连接Wifi网络,另一个用于断开Wifi网络连接。
首先,在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
然后,在布局文件中添加EditText和两个Button:
<EditText
android:id="@+id/wifi_ssid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Wifi SSID" />
<Button
android:id="@+id/connect_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Connect" />
<Button
android:id="@+id/disconnect_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Disconnect"
android:enabled="false" />
当用户输入Wifi SSID后,单击“Connect”按钮连接Wifi。单击“Disconnect”按钮时,将断开与Wifi的连接。
在Activity的onCreate方法中,将如下代码添加到connect_button的onClick监听器中:
EditText wifiSsidEditText = findViewById(R.id.wifi_ssid);
String wifiSsid = wifiSsidEditText.getText().toString();
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiConfiguration wifiConfig = new WifiConfiguration();
wifiConfig.SSID = "\"" + wifiSsid + "\"";
wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
int netId = wifiManager.addNetwork(wifiConfig);
wifiManager.disconnect();
if (netId == -1) {
Toast.makeText(this, "Failed to connect to Wifi", Toast.LENGTH_SHORT).show();
return;
}
wifiManager.enableNetwork(netId, true);
boolean success = wifiManager.reconnect();
if (success) {
Toast.makeText(this, "Connected to Wifi", Toast.LENGTH_SHORT).show();
findViewById(R.id.disconnect_button).setEnabled(true);
} else {
Toast.makeText(this, "Failed to connect to Wifi", Toast.LENGTH_SHORT).show();
}
该代码将WifiConfiguration对象用于配置连接。然后,它添加网络,断开当前连接并启用新连接。服务连接成功后,将启用“Disconnect”按钮。
在DisconnectButton的onClick监听器中添加以下代码:
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiManager.disconnect();
findViewById(R.id.disconnect_button).setEnabled(false);
findViewById(R.id.connect_button).setEnabled(true);
Toast.makeText(this, "Disconnected from Wifi", Toast.LENGTH_SHORT).show();
这会断开Wifi连接,并使“Connect”按钮可用。
现在简单易扩展的应用程序已经准备好了!
Android WifiManager类使得连接Wifi网络变得非常简单。当您构建应用程序时,确保使用此类将无缝地连接您的应用程序到Wifi网络。