android判断是否连接wifi和网络状态的判断


<span style="font-size:18px;">// 是否连接WIFI
	public static boolean isWifiConnected(Context context) {
		ConnectivityManager connectivityManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo wifiNetworkInfo = connectivityManager
				.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
		if (wifiNetworkInfo.isConnected()) {
			return true;
		}
		return false;
	}

	/**
	 * 对网络连接状态进行判断
	 * 
	 * @return true, 可用; false, 不可用
	 */
	public static boolean isOpenNetwork(Context ctx) {
		ConnectivityManager connManager = (ConnectivityManager) ctx
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		if (connManager.getActiveNetworkInfo() != null) {
			return connManager.getActiveNetworkInfo().isAvailable();
		}
		return false;
	}</span>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中,可以使用 `WifiManager` 类来连接 WiFi。为了判断输入的密码是否正确,可以尝试连接 WiFi,并通过监听 `SupplicantState` 的变化来获取连接状态。当连接成功时,可以认为输入的密码是正确的,否则密码错误。 以下是一个例子: ```java public class WifiUtils { private Context mContext; private WifiManager mWifiManager; private WifiReceiver mWifiReceiver; public WifiUtils(Context context) { mContext = context; mWifiManager = (WifiManager) mContext.getApplicationContext().getSystemService(Context.WIFI_SERVICE); } public void connectWifi(String ssid, String password) { if (!mWifiManager.isWifiEnabled()) { mWifiManager.setWifiEnabled(true); } WifiConfiguration wifiConfiguration = createWifiConfiguration(ssid, password); int networkId = mWifiManager.addNetwork(wifiConfiguration); mWifiManager.disconnect(); mWifiManager.enableNetwork(networkId, true); mWifiManager.reconnect(); registerWifiReceiver(); } private WifiConfiguration createWifiConfiguration(String ssid, String password) { WifiConfiguration wifiConfiguration = new WifiConfiguration(); wifiConfiguration.SSID = "\"" + ssid + "\""; wifiConfiguration.preSharedKey = "\"" + password + "\""; wifiConfiguration.status = WifiConfiguration.Status.ENABLED; wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK); return wifiConfiguration; } private void registerWifiReceiver() { if (mWifiReceiver == null) { mWifiReceiver = new WifiReceiver(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION); mContext.registerReceiver(mWifiReceiver, intentFilter); } } private void unregisterWifiReceiver() { if (mWifiReceiver != null) { mContext.unregisterReceiver(mWifiReceiver); mWifiReceiver = null; } } private class WifiReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(intent.getAction())) { SupplicantState supplicantState = intent.getParcelableExtra(WifiManager.EXTRA_NEW_STATE); if (supplicantState == SupplicantState.COMPLETED) { unregisterWifiReceiver(); // 输入的密码正确 } else if (supplicantState == SupplicantState.DISCONNECTED) { unregisterWifiReceiver(); // 输入的密码错误 } } } } } ``` 在上面的例子中,我们创建了一个 `WifiUtils` 类来连接 WiFi。`connectWifi` 方法接受两个参数:WiFi 的名称和密码。我们使用 `createWifiConfiguration` 方法来创建一个 `WifiConfiguration` 对象,并将其添加到系统的 WiFi 列表中。然后,我们断开当前连接并启用新连接。最后,我们注册了一个 `WifiReceiver` 来监听连接状态的变化,并在连接成功或失败时取消注册。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值