我們在Android中要對WIFI進行操作時,首先必須獲取WifiManager對象來進行操作,獲取的方法是透過Context中的getSystemService方法取得。
WifiManager wifiManger = (WifiManager)Context.getSystemService(Service.WIFE_SERVICE);
針對網卡操作必須有以下權限
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> |
回歸主題吧,WIFI網卡在android代碼上的操作有以下幾種:
1. 打開WIFI網卡
wifiManager.setWifiEnabled(true);
2. 關閉WIFI網卡
wifiManager.setWifiEnabled(false);
3. 與當前網路斷開
4. 獲取WIFI網卡狀態,返回狀態為整型
wifiManager.getWifiState();
例子
package com.ahow.wifi; import android.app.Activity; import android.content.Context; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class WifiActivity extends Activity { private Button openWifiBtn; // 開啟wifi按鈕 private Button closeWifiBtn; // 關閉wifi按鈕 private TextView wifiStateTextView; // 顯示wifi狀態 private WifiManager wifiManger; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); wifiManger = (WifiManager)getSystemService(Context.WIFI_SERVICE); // 取得view openWifiBtn = (Button)findViewById(R.id.openWifi); closeWifiBtn = (Button)findViewById(R.id.closeWifi); wifiStateTextView = (TextView)findViewById(R.id.wifiState); wifiStateTextView.setText("網卡狀態:" + wifiManger.getWifiState()); // 設置按鈕監聽器 openWifiBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { wifiManger.setWifiEnabled(true); } }); closeWifiBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { wifiManger.setWifiEnabled(false); } }); } } |
附註 :
以下針對幫助文檔中的Service整理 :
沒有留言:
張貼留言