Android - Wi-Fi

Android cho phép các ứng dụng truy cập để xem trạng thái truy cập của các kết nối không dây ở mức rất thấp. Ứng dụng có thể truy cập gần như tất cả các thông tin của một kết nối wifi.

Thông tin mà ứng dụng có thể truy cập bao gồm tốc độ liên kết của mạng được kết nối, địa chỉ IP, trạng thái thương lượng, thông tin mạng khác. Các ứng dụng cũng có thể quét, thêm, lưu, chấm dứt và bắt đầu kết nối Wi-Fi.

Android cung cấp WifiManagerAPI để quản lý tất cả các khía cạnh của kết nối WIFI. Chúng tôi có thể khởi tạo lớp này bằng cách gọigetSystemServicephương pháp. Cú pháp của nó được đưa ra dưới đây:

WifiManager mainWifiObj;
mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);

Để quét danh sách các mạng không dây, bạn cũng cần đăng ký BroadcastReceiver. Nó có thể được đăng ký bằng cách sử dụngregisterReceiverphương thức với đối số của đối tượng lớp người nhận của bạn. Cú pháp của nó được đưa ra dưới đây:

class WifiScanReceiver extends BroadcastReceiver {
   public void onReceive(Context c, Intent intent) {
   }
}

WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

Quá trình quét wifi có thể được bắt đầu bằng cách gọi startScanphương thức của lớp WifiManager. Phương thức này trả về danh sách các đối tượng ScanResult. Bạn có thể truy cập bất kỳ đối tượng nào bằng cách gọigetphương pháp của danh sách. Cú pháp của nó được đưa ra dưới đây:

List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
String data = wifiScanList.get(0).toString();

Ngoài việc chỉ Quét, bạn có thể kiểm soát nhiều hơn đối với WIFI của mình bằng cách sử dụng các phương thức được xác định trong lớp WifiManager. Chúng được liệt kê như sau:

Sr.No Phương pháp & Mô tả
1

addNetwork(WifiConfiguration config)

Phương pháp này thêm mô tả mạng mới vào tập hợp các mạng đã định cấu hình.

2

createWifiLock(String tag)

Phương pháp này tạo một WifiLock mới.

3

disconnect()

Phương thức này tách khỏi điểm truy cập hiện đang hoạt động.

4

enableNetwork(int netId, boolean disableOthers)

Phương pháp này cho phép liên kết với mạng đã cấu hình trước đó.

5

getWifiState()

Phương pháp này có trạng thái bật Wi-Fi

6

isWifiEnabled()

Phương thức này trả về việc Wi-Fi được bật hay tắt.

7

setWifiEnabled(boolean enabled)

Phương pháp này bật hoặc tắt Wi-Fi.

số 8

updateNetwork(WifiConfiguration config)

Phương pháp này cập nhật mô tả mạng của một mạng được cấu hình hiện có.

Thí dụ

Đây là một ví dụ minh họa việc sử dụng WIFI. Nó tạo ra một ứng dụng cơ bản để mở wifi và đóng wifi của bạn

Để thử nghiệm với ví dụ này, bạn cần chạy điều này trên một thiết bị thực tế đã bật wifi.

Các bước Sự miêu tả
1 Bạn sẽ sử dụng Android studio để tạo ứng dụng Android theo gói com.example.sairamkrishna.myapplication.
2 Sửa đổi tệp src / MainActivity.java để thêm mã WebView.
3 Sửa đổi res / layout / activity_main để thêm các thành phần XML tương ứng
4 Sửa đổi AndroidManifest.xml để thêm các quyền cần thiết
5 Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả.

Sau đây là nội dung của tệp hoạt động chính được sửa đổi src/MainActivity.java.

package com.example.sairamkrishna.myapplication;

import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
   Button enableButton,disableButton;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      enableButton=(Button)findViewById(R.id.button1);
      disableButton=(Button)findViewById(R.id.button2);

      enableButton.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            wifi.setWifiEnabled(true);
         }
      });
		
      disableButton.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            wifi.setWifiEnabled(false);
         }
      });
   }
}

Sau đây là nội dung sửa đổi của xml res/layout/activity_main.xml.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
	
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
		
   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="76dp"
      android:text="Enable Wifi"
      android:layout_centerVertical="true"
      android:layout_alignEnd="@+id/imageView" />

   <Button
      android:id="@+id/button2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Disable Wifi"
      android:layout_marginBottom="93dp"
      android:layout_alignParentBottom="true"
      android:layout_alignStart="@+id/imageView" />

</RelativeLayout>

Sau đây là nội dung của AndroidManifest.xml tập tin.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
   <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ Android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào

biểu tượng Chạy từ thanh công cụ. Trước khi khởi động ứng dụng của bạn, Android studio sẽ hiển thị cửa sổ sau để chọn một tùy chọn mà bạn muốn chạy ứng dụng Android của mình.

Chọn thiết bị di động của bạn làm tùy chọn và Nó sẽ hiển thị hình ảnh sau

Bây giờ nhấp vào nút vô hiệu hóa wifi. Sau đó đầu ra mẫu sẽ như thế này -