如何在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連線狀態。

更新於: 2023年3月30日

1K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告