<?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();
}
}
}
}
});
}
}