2.WifiManagerExample.java
package tw.nicky.WifiManagerExample;
import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class WifiManagerExample extends Activity {
private WifiManager wiFiManager;
private Button turnOnWifiButn;
private Button turnOffWifiButn;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 取得WifiManager
wiFiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
turnOnWifiButn = (Button) findViewById(R.id.turnOnWifiButn);
turnOffWifiButn = (Button) findViewById(R.id.turnOffWifiButn);
// 開啟wifi
turnOnWifiButn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//若wifi狀態為關閉則將它開啟
if (!wiFiManager.isWifiEnabled()) {
wiFiManager.setWifiEnabled(true);
}
}
});
// 關閉wifi
turnOffWifiButn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//若wifi狀態為開啟則將它關閉
if (wiFiManager.isWifiEnabled()) {
wiFiManager.setWifiEnabled(false);
}
}
});
}
}
3. main.xml(Layout)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:text="開啟Wifi"
android:id="@+id/turnOnWifiButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
<Button
android:text="關閉Wifi"
android:id="@+id/turnOffWifiButn"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
4. AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tw.nicky.WifiManagerExample"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".WifiManagerExample"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
</manifest>
5. 執行畫面

Nicky Cho您好:
回覆刪除我是Android SDK初學者,在Eclipse環境下編輯時,第20,21行的R.id.turnOnWifiButn以及
R.id.turnOffWifiButn出現錯誤訊息(id cannot be resolved ro is not a field) 請問這是我的R.JAVA裡頭沒定義好嗎? 能否也貼出R.JAVA呢? 感恩
Nicky 大大
回覆刪除真搞笑 原來是我沒修改main.xml跟AndroidManifest.xml, 所以R.JAVA才沒顯示R.id.
程式demo成功囉 感恩 希望能再看到大大的文章
想請問一下~
回覆刪除如果要用到WIFI
eclipse是否要開啟WIFI功能
可是我無法將他打開~他都會顯示error
如果是上面的demo檔
我遇到和上面的大大一樣的問題
可是我main.xml和AndroidManifest.xml都有修改~"~
一直修改道都沒錯誤了
回覆刪除但還是跑不出來~"~
而且想問一下~
就是這個程式沒有main這樣可以嗎??
請問一下!!
回覆刪除照您這樣就可以控制Wifi的開關
但若我一個設備他是AP他會一直吐封包資訊
我連到他後! 我要如何去連接它呢??
可以給個方向嗎
Nicky 高手 大大
回覆刪除請教一下
Android WIFI 輸入IP ,不管是否有配對連線 ,
(按 開啟 ) 第1秒傳 1 ,第2秒傳 2 ~~~~ ,第9秒傳 9 ,第1秒傳 1 [重復傳送資料]
(按 關閉 ) 才停止傳送資料
可以請版主寫一個範例示範
我是ANDROID新手 ,不知道如何寫
Thank you!!
在WifiManagerExample.java的第17行,最後的main出現錯誤
回覆刪除錯誤訊息如下:
main cannot be resolved or is not a field
我出現此錯誤....我直接複製貼上欸
哪裡出了問題???
版主 您好 我想問一下,有辦法判斷讓wifi自動連線最好的訊號嗎 ?
回覆刪除假設 有好幾個wifi節點,讓手機自動連到最好的訊號