如何在Android上檢視Wi-Fi是否已連線?
介紹
在Android應用程式中,很多時候都會進行API呼叫。要進行此API呼叫,裝置必須連線到網際網路。大多數應用程式在進行任何API呼叫之前,都會確保裝置已連線到網際網路。此外,當應用程式下載一些大型檔案時,應用程式通常會檢查裝置是否已連線到Wi-Fi。在本文中,我們將瞭解如何從我們的Android應用程式中檢視Android裝置是否已連線到Wi-Fi。
實現
我們將建立一個簡單的專案,其中我們將顯示一個簡單的TextView來顯示應用程式的標題。之後,我們將建立一個按鈕。我們將使用此按鈕來檢查應用程式中當前的Wi-Fi狀態,即Wi-Fi是否已連線。
步驟1:在Android Studio中建立一個新專案。
導航到Android Studio,如下面的螢幕所示。在下面的螢幕中,單擊“新建專案”以建立一個新的Android Studio專案。

單擊“新建專案”後,您將看到下面的螢幕。

在此螢幕中,我們只需選擇“空活動”並單擊“下一步”。單擊“下一步”後,您將看到下面的螢幕。

在此螢幕中,我們只需指定專案名稱。然後,包名將自動生成。
注意 - 確保選擇Java作為語言。
指定所有詳細資訊後,單擊“完成”以建立一個新的Android Studio專案。
專案建立完成後,我們將看到兩個開啟的檔案,即activity_main.xml和MainActivity.java檔案。
步驟3:使用activity_main.xml
導航到activity_main.xml。如果此檔案不可見,則要開啟此檔案,請在左側窗格中導航到app>res>layout>activity_main.xml以開啟此檔案。開啟此檔案後,將以下程式碼新增到其中。程式碼中添加了註釋以詳細瞭解。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" tools:context=".MainActivity"> <!-- on below line creating a text view for displaying a heading--> <TextView android:id="@+id/idTVHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_margin="10dp" android:padding="4dp" android:text="Check Wi-Fi Connection Status in Android" android:textAlignment="center" android:textColor="@color/black" android:textSize="20sp" android:textStyle="bold" /> <!-- on below line creating a button to check wifi status--> <Button android:id="@+id/idBtnCheckWifiStatus" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/idTVHeading" android:layout_centerHorizontal="true" android:layout_margin="20dp" android:text="Check Wi-Fi Status" android:textAllCaps="false" /> </RelativeLayout>
說明 - 在上面的程式碼中,我們建立了一個RelativeLayout作為根佈局,並在其中建立了一個簡單的TextView來顯示應用程式的標題。之後,我們建立了一個按鈕,我們將使用它來檢查裝置的當前Wi-Fi狀態。
步驟4:使用MainActivity.java檔案。
導航到MainActivity.java。如果此檔案不可見,則要開啟此檔案,請在左側窗格中導航到app>res>layout>MainActivity.java以開啟此檔案。開啟此檔案後,將以下程式碼新增到其中。程式碼中添加了註釋以詳細瞭解。
package com.example.androidjavaapp; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { // on below line we are creating variable for button. private Button checkWifiBtn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // on below line initializing variable with id. checkWifiBtn = findViewById(R.id.idBtnCheckWifiStatus); // on below line adding click listener for our button. checkWifiBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // on below line we are creating a variable for connectivity manager and initializing it. ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); // on below line we are getting network info to get wifi network info. NetworkInfo wifiConnection = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); // on below line displaying toast message when wi-fi is connected when wi-fi is disconnected if (wifiConnection.isConnected()) { Toast.makeText(MainActivity.this, "Wi-Fi is connected..", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "Wi-Fi is disconnected..", Toast.LENGTH_SHORT).show(); } } }); } }
說明 - 在上面的程式碼中,我們首先為按鈕建立了一個變數。之後,我們將看到一個onCreate方法,在其中我們將初始化在應用程式首次開啟時要顯示的佈局檔案。在此onCreate方法中,我們使用其ID初始化了按鈕。之後,我們為按鈕添加了一個OnClickListener。在按鈕的ClickListener中,我們使用ConnectivityManager和NetworkInfo檢查Wi-Fi連線狀態。之後,我們在Wi-Fi連線或斷開連線時顯示Toast訊息。
新增上述程式碼後,我們只需單擊頂部的綠色圖示即可在移動裝置上執行應用程式。
注意 - 確保您已連線到您的真實裝置或模擬器。
輸出

結論
在上面的教程中,我們瞭解瞭如何使用ConnectivityManager和NetworkInfo從我們的Android應用程式中檢查裝置的Wi-Fi連線狀態。