操作手機wifi(打開、關閉、獲取連接信息)
阿新 • • 發佈:2017-10-01
ret activit style onclick and manage bundle tar pad
頁面布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/state" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/start" android:layout_below="@+id/start" android:layout_marginTop="75dp" android:onClick="StateButton" android:text="state" /> <Button android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/state" android:layout_below="@+id/start" android:layout_marginTop="15dp" android:onClick="StopButton" android:text="stop" /> <Button android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="24dp" android:onClick="StartButton" android:text="start" /> <Button android:id="@+id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="250dp" android:onClick="ListButton" android:text="getList" /> </RelativeLayout>
三個按鈕:第一個打開wifi,第二個關閉wifi,第三個獲取搜索到的wifi信息
================================================================================================================================================================
activity:
public class MainActivity extends Activity { WifiManager wifiManage; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wifiManage = (WifiManager) this.getSystemService(WIFI_SERVICE);//獲取 wifi管理者 } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } /** * wifi管理者的各種方法可用於判斷wifi狀態、操控wifi打開和關閉 * @param v */ public void StartButton(View v){ System.out.println("start"); if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_DISABLED){ wifiManage.setWifiEnabled(true);//打開wifi }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_DISABLING){ System.out.println("正在關閉"); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_ENABLING){ System.out.println("正在打開"); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_ENABLED){ System.out.println("早已打開"); } } public void StopButton(View v){ System.out.println("stop"); System.out.println("start"); if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_DISABLED){ System.out.println("早已關閉"); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_DISABLING){ System.out.println("正在關閉"); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_ENABLING){ System.out.println("正在打開"); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_ENABLED){ wifiManage.setWifiEnabled(false);//關閉wifi } } public void StateButton(View v){ System.out.println("state"); System.out.println("start"); if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_DISABLED){ System.out.println(wifiManage.getWifiState()); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_DISABLING){ System.out.println(wifiManage.getWifiState()); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_ENABLING){ System.out.println(wifiManage.getWifiState()); }else if(wifiManage.getWifiState()==wifiManage.WIFI_STATE_ENABLED){ System.out.println(wifiManage.getWifiState()); } } public void ListButton(View v) { //獲取wifi列表的list List<WifiConfiguration> netWorkList = wifiManage.getConfiguredNetworks(); //獲取wifi信息 System.out.println(netWorkList.get(0).SSID); System.out.println(netWorkList.get(1).SSID); System.out.println(netWorkList.get(2).SSID); System.out.println(netWorkList.get(3).SSID); } }
===============================================================================================================================================================
總結:
1、wifi狀態
wifiManage.WIFI_STATE_DISABLED//wifi不可用 wifiManage.WIFI_STATE_DISABLING//wifi正在關閉 wifiManage.WIFI_STATE_ENABLING//wifi正在打開 wifiManage.WIFI_STATE_ENABLED//wifi可用 wifiManage.getWifiState()//獲取wifi當前狀態
2、操作wifi
wifiManage.setWifiEnabled(false);//關閉wifi wifiManage.setWifiEnabled(true);//打開wifi
3、獲取wifi列表
List<WifiConfiguration> netWorkList =wifiManage.getConfiguredNetworks();
4、獲取管理者
wifiManage = (WifiManager) this.getSystemService(WIFI_SERVICE);
即:獲取系統服務----wifi管理者
操作手機wifi(打開、關閉、獲取連接信息)