📜  Android-Wi-Fi

📅  最后修改于: 2021-01-05 05:40:20             🧑  作者: Mango


Android允许应用程序访问以非常低的级别查看无线连接的访问状态。应用程序可以访问wifi连接的几乎所有信息。

应用程序可以访问的信息包括连接的网络的链接速度,IP地址,协商状态,其他网络信息。应用程序还可以扫描,添加,保存,终止和启动Wi-Fi连接。

Android提供了WifiManager API来管理WIFI连接的各个方面。我们可以通过调用getSystemService方法来实例化此类。其语法如下-

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

为了扫描无线网络列表,您还需要注册BroadcastReceiver。可以使用registerReceiver方法将其注册为您的接收器类对象的参数。其语法如下-

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

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

可以通过调用WifiManager类的startScan方法来启动wifi扫描。此方法返回ScanResult对象的列表。您可以通过调用list的get方法来访问任何对象。其语法如下-

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

除了扫描外,您还可以使用WifiManager类中定义的方法来更好地控制WIFI。它们列出如下-

Sr.No Method & Description
1

addNetwork(WifiConfiguration config)

This method add a new network description to the set of configured networks.

2

createWifiLock(String tag)

This method creates a new WifiLock.

3

disconnect()

This method disassociate from the currently active access point.

4

enableNetwork(int netId, boolean disableOthers)

This method allow a previously configured network to be associated with.

5

getWifiState()

This method gets the Wi-Fi enabled state

6

isWifiEnabled()

This method return whether Wi-Fi is enabled or disabled.

7

setWifiEnabled(boolean enabled)

This method enable or disable Wi-Fi.

8

updateNetwork(WifiConfiguration config)

This method update the network description of an existing configured network.

这是一个演示使用WIFI的示例。它创建了一个基本的应用程序,可以打开您的wifi,然后关闭您的wifi

要试验此示例,您需要在打开了wifi的实际设备上运行此示例。

Steps Description
1 You will use Android studio to create an Android application under a package com.example.sairamkrishna.myapplication.
2 Modify src/MainActivity.java file to add WebView code.
3 Modify the res/layout/activity_main to add respective XML components
4 Modify the AndroidManifest.xml to add the necessary permissions
5 Run the application and choose a running android device and install the application on it and verify the results.

以下是修改后的主要活动文件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);
         }
      });
   }
}

以下是xml res / layout / activity_main.xml的修改内容。



    
   
        
   

   


以下是AndroidManifest.xml文件的内容。



   
   
   
   
      
      
         
         
            
            
         
         
      
      
   

让我们尝试运行您的应用程序。我假设您已将实际的Android Mobile设备与计算机连接。要从Android Studio运行该应用,请打开您项目的活动文件之一,然后点击运行Eclipse运行图标工具栏中的图标。在启动应用程序之前,Android Studio将显示以下窗口,以选择要在其中运行Android应用程序的选项。

Anroid Wi-Fi教程

选择您的移动设备作为选项,它将显示以下图像-

Anroid Wi-Fi教程

现在单击禁用wifi按钮。然后示例输出应该是这样的-

android_wifi_tutorials