android WIFI

来源:互联网 发布:复杂网络 研究热点 编辑:程序博客网 时间:2024/04/28 04:56

一个wifi连接通常具有哪些属性?

答:BSSID ( basic service set identifier)
BSS:一种特殊的Ad-hoc LAN的应用,称为Basic Service Set (BSS),一群计算机设定相同的BSS名称,即可自成一个group,而此BSS名称,即所谓BSSID。

SSID(service set identifier)

简单说,SSID就是一个局域网的名称,只有设置为名称相同SSID的值的电脑才能互相通信。

IpAddress

MacAddress  获取MAC地址

NetworkId  获取网络ID。
LinkSpeed  获取连接速度,可以让用户获知这一信息。
Rssi       获取RSSI,RSSI就是接受信号强度指示

frequency 频段

capabilities

Describes the authentication, key management, and encryption schemes supported by the access point.

level

The detected signal level in dBm.
timestamp

Time Synchronization Function (tsf) timestamp in microseconds when this result was last seen.

与WIFI连接相关的类?

答:

WifiManager 

WifiInfo

ScanResult

WifiConfiguration

WifiLock

demo1:查询当前连接的wifi的一些信息

package com.example.wifidemo2;import android.content.Context;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;public class MainActivity extends ActionBarActivity {WifiInfo mwifiInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.wifi_info_btn).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {WifiManager mwifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);mwifiInfo = mwifiManager.getConnectionInfo();String str = null;str = "BSSID:" + mwifiInfo.getBSSID() + "\n"+ "IpAddress:" + mwifiInfo.getIpAddress()+ "\n" + "SSID:" + mwifiInfo.getSSID() + "\n"+ "LinkSpeed:" + mwifiInfo.getLinkSpeed()+ "\n" + "NetworkId:"+ mwifiInfo.getNetworkId() + "\n" + "Rssi:"+ mwifiInfo.getRssi();((TextView) findViewById(R.id.wifi_info)).setText(str);}});}}<strong></strong>
demo2:扫描附近的wifi

package com.example.wifidemo2;import java.util.List;import android.content.Context;import android.net.wifi.ScanResult;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;public class MainActivity extends ActionBarActivity {WifiInfo mwifiInfo;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.wifi_info_btn).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {WifiManager mwifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);mwifiManager.startScan();//获得扫描结果List<ScanResult> mwiflList=mwifiManager.getScanResults();//查看扫描结果StringBuffer sb = new StringBuffer();for (int i = 0; i < mwiflList.size(); i++) {sb.append("Index_" + new Integer(i + 1).toString() + ":");// 将ScanResult信息转换成一个字符串包// 其中把包括:BSSID、SSID、capabilities、frequency、levelsb.append((mwiflList.get(i)).toString()).append("\n");}((TextView) findViewById(R.id.wifi_info)).setText(sb);}});}}
demo3:开启关闭wifi:

package com.example.wifidemo2;import android.content.Context;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.wifi_info_btn).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {WifiManager mwifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);//开启wifiif(!mwifiManager.isWifiEnabled()){mwifiManager.setWifiEnabled(true);Toast.makeText(MainActivity.this, "开启了", 3).show();}//关闭wifi// if(mwifiManager.isWifiEnabled()){// mwifiManager.setWifiEnabled(false);// Toast.makeText(MainActivity.this, "关闭了", 3).show();// }}});}}

开启wifi的权限:

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

请求wifi的权限:

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

0 0
原创粉丝点击