当前位置:蚂蚁文档网 > 作文范文 > 安卓WiFi基本使用x

安卓WiFi基本使用x

时间:2022-07-01 19:55:03 浏览次数:

 安卓 WiFi 基本使用 大家学习安卓 WiFi 基本使用的时候首先应该请清楚什么是 WiFi,在现在这个时代相信绝大多数人都接触过 WiFi 了 ,我们整天说 WiFi 可是 WiFi 到底是什么呢?很多人也许只知道有 WiFi 可以免费上网,这话没毛病,WiFi 其实是一种允许电子设备连接到无线局域网(WLAN)的技术,基本上现在的手机,平板等很多电子设备都支持 WiFi 技术,我们在初次学习安卓 WiFi 的基本使用时,我们应该学会一下三个基本操作; 第一就是简单的可以打开 WiFi 热点,这个功能很简单就是我们添加一个按钮,点击之后会打开手机的 WiFi 开关。

 第二就是打开 WiFi 热点之后进行对热点的关闭,跟打开 WiFi 的步骤差不多 第三就是会操作显示 WiFi 相关信息 首先我们来看第一个操作-----打开 WiFi,顾名思义我们需要一个按钮,然后给这个按钮添加一个事件监听器,我们最想知道的就是通过什么代码控制手机 WiFi的开关,其实很简单,在安卓中提供了一个 wifiManager 我们可以通过这个类来对WiFi 进行相关的操作,然而打开 WiFi 的操作也只需要一个简短的代码就可以搞定,那就是 wifiManager.setWifiEnabled(true);这段代码的意思是打开 WiFi,另外在进行安卓WiFi 操作的时候我们需要申请一些 WiFi 相关的操作,有以下操作权限需要申请

  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

 具体的打开 WiFi 的示例代码如下

 btOpenWifi.setOnClickListener(new View.OnClickListener() {

 @Override

 public void onClick(View v) {

 wifiManager.setWifiEnabled(true);

  }

 });

 这应该不难理解,就是对一个按钮添加了一个事件监听器,我觉得有些人看到这里就应该知道第二步关闭 WiFi 的操作了,大家可以分析这句代码 wifiManager.setWifiEnabled(true);

 参数的类型是布尔型,当为真的时候是打开 WiFi,相应的关闭 WiFi 的时候就是为假了如下代码

 btCloseWifi.setOnClickListener(new View.OnClickListener() {

 @Override

 public void onClick(View v) {

 wifiManager.setWifiEnabled(false);

 }

 });

 到这里我们基本上知道如何打开和关闭手机 WiFi 了,下一步就是需要我们去获取WiFi 的一些相关信息了,这一块需要使用到这个类叫 wifiinfo,在我们的 WiFi 已经连同了之后, 可以通过这个类获得一些已经连同的 WiFi 连接的信息,获取当前连接的信息,这里信息比较简单,这里简单介绍一下其中的几个方法

 getBSSID()获取 BSSID

 getDetailedStateOf() 获取客户端的连通性

 getHiddenSSID() 获得 SSID 是否被隐藏

 getIpAddress() 获取 IP 地址

 getLinkSpeed() 获得连接的速度

 getMacAddress() 获得 Mac 地址

 getRssi() 获得 802.11n 网络的信号

 getSSID() 获得 SSID

  getSupplicanState() 返回具体客户端状态的信息

 那么我们该如何使用呢,让我们一步一步来 F 分析,首先我们要获取 WiFi 的相关信息,这个信息肯定是要给人看的,是要展示出去的,所以我们需要一

 显示 WiFi 信息的媒介,当然是用一个 textview 来解决了,接下来让我们看一下下面的代码

  TextView tvWifiInfo = (TextView)findViewById(R.id.tvWifiInfo);

 StringBuffer sb = new StringBuffer();

 sb.append("wifi 信息\n");

 sb.append("mac 地址:"+wifiInfo.getMacAddress()+"\n");

 sb.append("接入点的 BSSID:"+wifiInfo.getBSSID()+"\n");

 sb.append("IP 地址(int):"+wifiInfo.getIpAddress()+"\n");

 这些代码的作用是将 WiFi 的相关信息输入到缓冲区,然后通过 settext 的方法赋值, 效果图如下

 完整的代码如下

  public class MainActivity extends AppCompatActivity {

 private Button btOpenWifi;

 private Button btCloseWifi;

 private WifiManager wifiManager;

 private WifiInfo wifiInfo;

  @Override

 protected void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);

 setContentView(R.layout.activity_main);

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

 //获得连接信息对象

 wifiInfo = wifiManager.getConnectionInfo();

 btOpenWifi = (Button)findViewById(R.id.btOpenWifi);

 btOpenWifi.setOnClickListener(new View.OnClickListener() {

 @Override

 public void onClick(View v) {

 wifiManager.setWifiEnabled(true);

  }

 });

 btCloseWifi = (Button)findViewById(R.id.btCloseWifi);

 btCloseWifi.setOnClickListener(new View.OnClickListener() {

 @Override

 public void onClick(View v) {

 wifiManager.setWifiEnabled(false);

 }

 });

 TextView tvWifiInfo = (TextView)findViewById(R.id.tvWifiInfo);

 StringBuffer sb = new StringBuffer();

 sb.append("wifi 信息\n");

 sb.append("mac 地址:"+wifiInfo.getMacAddress()+"\n");

 sb.append("接入点的 BSSID:"+wifiInfo.getBSSID()+"\n");

 sb.append("IP 地址(int):"+wifiInfo.getIpAddress()+"\n");

 tvWifiInfo.setText(sb);

  }

 }

推荐访问:WiFi

猜你喜欢