<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.entel.research" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".WiFiConnEncryptionActivity" > <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_NETWORK_STATE" /> <!--修改网络状态的权限 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><!--修改wifi状态的权限 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!--访问wifi权 --> </manifest>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/wifiManager_conn" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="连接加密网络" /> </LinearLayout>
package com.entel.research; import java.util.List; import android.app.Activity; import android.content.Context; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class WiFiConnEncryptionActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button wifiManager_open = (Button) findViewById(R.id.wifiManager_conn); wifiManager_open.setOnClickListener(new OnClickListener() { public void onClick(View v) { WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); wifiManager.setWifiEnabled(true); //add network if (wifiManager.startScan()) //扫描可用的无线网络 { List<ScanResult> scanResultList = wifiManager .getScanResults(); for (int i = 0; i < scanResultList.size(); i++) { ScanResult scanRet = scanResultList.get(i); if (scanRet.SSID.equalsIgnoreCase("Enter_1")) // 找到 TEST { WifiConfiguration config = new WifiConfiguration(); config.SSID = "\"" + scanRet.SSID + "\""; config.preSharedKey = "entel123"; // 指定密码 config.hiddenSSID = true; config.allowedAuthAlgorithms .set(WifiConfiguration.AuthAlgorithm.OPEN); config.allowedGroupCiphers .set(WifiConfiguration.GroupCipher.TKIP); config.allowedKeyManagement .set(WifiConfiguration.KeyMgmt.WPA_PSK); config.allowedPairwiseCiphers .set(WifiConfiguration.PairwiseCipher.TKIP); config.allowedProtocols .set(WifiConfiguration.Protocol.WPA); config.status = WifiConfiguration.Status.ENABLED; int netID = wifiManager.addNetwork(config); Log.d("WifiPreference", "add Network returned " + netID); boolean bRet = wifiManager.enableNetwork(netID, true); Log.d("WifiPreference", "enableNetwork returned " + bRet); Toast.makeText(WiFiConnEncryptionActivity.this, "Enter_1连接成功", Toast.LENGTH_SHORT).show(); } } } } }); } }