android:wifi通訊(一)
阿新 • • 發佈:2019-02-12
上傳了原始碼,自己下載看吧:http://download.csdn.net/detail/bigtree_mfc/9528424
關於wifi操作:
1、開啟wifi
2、關閉wifi
3、獲取wifi網絡卡狀態
activity_main.xml中新增三個按鈕
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { WifiManager wifimanager = (WifiManager)getSystemService(Context.WIFI_SERVICE); Button bt1 = (Button)this.findViewById(R.id.Button1); Button bt2 = (Button)this.findViewById(R.id.Button2); Button bt3 = (Button)this.findViewById(R.id.Button3); bt1.setOnClickListener(new OnClickListener() { public void onClick(View v) { wifimanager.setWifiEnabled(true); //開啟wifi網絡卡 } }); bt2.setOnClickListener(new OnClickListener() { public void onClick(View v) { wifimanager.setWifiEnabled(false); //關閉wifi網絡卡 } }); bt3.setOnClickListener(new OnClickListener() { public void onClick(View v) { switch(wifimanager.getWifiState()) { case 0://WIFI正在關閉 toast("WIFI正在關閉"); break; case 1://WIFI網絡卡不可用 toast("WIFI網絡卡不可用"); break; case 2://WIFI網絡卡正在開啟 toast("WIFI網絡卡正在開啟"); break; case 3://WIFI網絡卡可用 toast("WIFI網絡卡可用 "); break; case 4: toast("未知網絡卡狀態"); break; } } }); public void toast(String str) { Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show(); } }
4、掃描周圍wifi熱點
XML中新增一個TextView,用來顯示掃描到的熱點,用tv表示
private List<ScanResult> list;
private ScanResult mScanResult;
private StringBuffer sb = new StringBuffer();
按鈕事件中:
if(sb != null)//資料清零 { sb = new StringBuffer(); } wifimanager.startScan();//開始掃描 list = wifimanager.getScanResults();//得到掃描結果 if(list != null) { for(int i = 0; i < list.size(); i++) { //得到掃描結果 mScanResult = list.get(i); sb = sb.append(mScanResult.SSID+"\n") ;//名稱 } tv.setText("掃描到的wifi網路:\n"+sb.toString()); }
5、連線wifi
主要還是通過開啟系統wifi介面進行連線