开发手册 欢迎您!
软件开发者资料库

Android - Wi-Fi

Android Wi-Fi - 学习Android编程以及如何从环境设置,应用程序组件,活动生命周期,服务生命周期,应用程序架构,发布应用程序,调试应用程序,处理事件,布局,菜单,用户界面开始开发Android手机和ipad应用程序控件,样式和主题,处理轮换,字体管理,发送电子邮件,数据存储,管理媒体,发送短信,电话。

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对象的列表.您可以通过调用列表的 get 方法来访问任何对象.其语法在下面和下面给出;

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

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

Sr.No方法&描述
1

addNetwork (WifiConfiguration config)

此方法将新的网络描述添加到已配置的网络集.

2

createWifiLock(String tag)

此方法创建一个新的WifiLock.

3

disconnect()

此方法与当前活动的接入点取消关联.

4

enableNetwork(int netId,boolean disableOthers)

此方法允许先前配置的网络关联.

5

getWifiState()

这方法获得Wi-Fi启用状态

6

isWifiEnabled()

此方法返回是启用Wi-Fi还是已禁用.

7

setWifiEnabled(boolean enabled)

此方法启用或禁用Wi-Fi.

8

updateNetwork(WifiConfiguration config)

此方法更新现有已配置网络的网络描述.

示例

以下是演示WIFI使用的示例.它创建了一个打开wifi并关闭wifi的基本应用程序

要试验这个例子,你需要在打开wifi的实际设备上运行它.

步骤描述
1您将使用Android工作室在com.example.sairamkrishna.myapplication包下创建Android应用程序.
2修改src/MainActivity.java文件以添加WebView代码.
3修改res/layout/activity_main以添加相应的XML组件
4修改AndroidManifest.xml以添加必要的权限
5运行应用程序并选择正在运行的android设备并安装应用程序在它上面并验证结果.

Follo wing是修改后的主活动文件 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移动设备与计算机相关联.要从Android工作室运行应用程序,请打开项目的一个活动文件,然后单击运行Eclipse Run Icon icon从工具栏中.在开始申请之前,Android studio将显示以下窗口,以选择您要运行Android应用程序的选项.

Anroid Wi-Fi Tutorial

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

Anroid Wi-Fi Tutorial

现在点击禁用wifi按钮.然后示例输出应该是这样的&减去;

android_wifi_tutorials