標籤:系統服務 列表 操作 mat bundle div 手機 vertica tom
頁面配置:
<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);//關閉wifiwifiManage.setWifiEnabled(true);//開啟wifi
3、擷取wifi列表
List<WifiConfiguration> netWorkList =wifiManage.getConfiguredNetworks();
4、擷取管理者
wifiManage = (WifiManager) this.getSystemService(WIFI_SERVICE);
即:擷取系統服務----wifi管理者
操作手機wifi(開啟、關閉、擷取串連資訊)