我是一名android開發人員。我正面臨使用WiFi配置的問題。當有人打開我的應用程序時,我需要連接到WiFi。用戶必須配置WiFi,並且僅在該應用繼續之後。我提供最近的網絡列表,用戶必須選擇他已知的網絡。用戶必須輸入所選網絡的密碼。我如何檢查用戶是否輸入了有效/正確的密碼以啓用WiFi連接。WiFi連接Android應用程序
請指導我。
在此先感謝。
我是一名android開發人員。我正面臨使用WiFi配置的問題。當有人打開我的應用程序時,我需要連接到WiFi。用戶必須配置WiFi,並且僅在該應用繼續之後。我提供最近的網絡列表,用戶必須選擇他已知的網絡。用戶必須輸入所選網絡的密碼。我如何檢查用戶是否輸入了有效/正確的密碼以啓用WiFi連接。WiFi連接Android應用程序
請指導我。
在此先感謝。
好問題。只需嘗試連接到已定義的AP並驗證結果:
WifiConfiguration wc = new WifiConfiguration();
...
// If password is empty, it should be left untouched
if (!TextUtils.isEmpty(pswd)) {
if (pswd.length() == 64) {
// Goes unquoted as hex
wc.preSharedKey = pswd;
} else {
// Goes quoted as ASCII
wc.preSharedKey = TextUtil.convertToQuotedString(pswd);
}
}
int res = -1;
res = m_WifiManager.addNetwork(wc);
boolean b = m_WifiManager.enableNetwork(res, true);
if(b == true){
fixSupplicant();
m_WifiManager.saveConfiguration();
//success
}
else{
//failed
....
private void fixSupplicant() {
final SupplicantState state = m_WifiManager.getConnectionInfo().getSupplicantState();
boolean isReconnectDone = false;
if ((state == SupplicantState.SCANNING)
|| (state == SupplicantState.DISCONNECTED)
|| (state == SupplicantState.DORMANT)) {
isReconnectDone = m_WifiManager.reconnect();;
}
}
非常感謝答案。你能否請讓這件事更容易理解。一個可行的例子將會非常有用。 – user1886887
@ user1886887您是否想要使用paswd創建WiFi配置文件並連接到的示例? –
是的。多數民衆贊成我正在尋找。一旦用戶從我顯示的列表中選擇一個網絡(最近的wifi連接),我將顯示一個警告框,要求他輸入密碼。我需要檢查他是否提供了正確的密碼,然後打算下一頁。這是我需要的朋友.. – user1886887
您可以註冊BroadcastReceiver
的動作WIFI_STATE_CHANGED_ACTION的WifiManager
。
然後,當Wifi狀態改變時,您的接收器將被調用,以便用戶將他的手機連接到WiFi網絡。
Android通常已經管理自己的WiFi連接,不是嗎?簡單地檢查用戶是否已經連接好了,如果不是 - 給他們一個信息,要求他們連接?否則,你正在重新發明輪子。 –
[如何以編程方式連接到Android中特定的WiFi網絡?](http://stackoverflow.com/questions/8818290/how-to-connect-to-a-specific-wifi-network-in-android - 編程) – bummi