標籤:網路 網卡 android
Wifi網卡狀態
WIFI_STATE_DISABLED Wifi網卡不可用
WIFI_STATE_DIABLING Wifi網卡正在關閉
WIFI_STATE_ENABLED Wifi網卡可用
WIFI_STATE_ENABLING Wifi網卡正在開啟
WIFI_STATE_UNKNOWN 未知網卡狀態
操作Wifi網卡所需要的許可權
CHANGE_NETWORK_STATE 改變網路連接狀態
CHANGE_WIFI_STATE 改變Wifi串連狀態
ACCESS_NETWORK_STATE 允許應用擷取網路狀態資訊
ACCESS_WIFI_STATE 允許應用擷取Wifi狀態資訊
介面activity_main.xml
<TextView android:id="@+id/hello" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/startWifi" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/hello" android:text="啟動手機的wifi網卡" /><Button android:id="@+id/stopWifi" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/startWifi" android:text="關閉手機的wifi網卡" /><Button android:id="@+id/checkWifi" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/stopWifi" android:text="檢查當前wifi網卡狀態" />
需要的許可權
<!-- 以下是使用wifi訪問網路所需要的許可權 --><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>
MainActivity.java
public class MainActivity extends Activity {private Button startButton = null;private Button stopButton = null;private Button checkButton = null;private WifiManager wifiManager = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startButton = (Button)findViewById(R.id.startWifi); stopButton = (Button)findViewById(R.id.stopWifi); checkButton = (Button)findViewById(R.id.checkWifi); startButton.setOnClickListener(new StartWifiListener()); stopButton.setOnClickListener(new StopWifiListener()); checkButton.setOnClickListener(new CheckWifiListener()); } class StartWifiListener implements OnClickListener{@Overridepublic void onClick(View v) {wifiManager = (WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);wifiManager.setWifiEnabled(true);System.out.println("wifi state --->" + wifiManager.getWifiState());Toast.makeText(MainActivity.this, "當前Wifi網卡狀態為" + wifiManager.getWifiState(), Toast.LENGTH_SHORT).show();} } class StopWifiListener implements OnClickListener{@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubwifiManager = (WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);wifiManager.setWifiEnabled(false);System.out.println("wifi state --->" + wifiManager.getWifiState());/*getWifiState返回下面五個常量之一下面的五個常量都是在WifiManager類中預定義的public static final int WIFI_STATE_DISABLING = 0; public static final int WIFI_STATE_DISABLED = 1; public static final int WIFI_STATE_ENABLING = 2; public static final int WIFI_STATE_ENABLED = 3; public static final int WIFI_STATE_UNKNOWN = 4; */Toast.makeText(MainActivity.this, "當前Wifi網卡狀態為" + wifiManager.getWifiState(), Toast.LENGTH_SHORT).show();} } class CheckWifiListener implements OnClickListener{@Overridepublic void onClick(View v) {wifiManager = (WifiManager)MainActivity.this.getSystemService(Context.WIFI_SERVICE);System.out.println("wifi state --->" + wifiManager.getWifiState());Toast.makeText(MainActivity.this, "當前Wifi網卡狀態為" + wifiManager.getWifiState(), Toast.LENGTH_SHORT).show();} }}
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/53/F9/wKioL1R1RyiSLiePAAZ8x3KUHlk955.jpg" style="float:none;" title="Screenshot_2014-11-26-11-00-55.png" alt="wKioL1R1RyiSLiePAAZ8x3KUHlk955.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/53/FB/wKiom1R1Rqjy_JICAAG0Y3cUCXE990.jpg" style="float:none;" title="Screenshot_2014-11-26-11-01-53.png" alt="wKiom1R1Rqjy_JICAAG0Y3cUCXE990.jpg" />
本文出自 “阿凡達” 部落格,請務必保留此出處http://shamrock.blog.51cto.com/2079212/1582680
Android學習筆記-Wifi網路操作