连接到android中的wifi网络,如果密码不正确,请返回
我想做一个应用程序,让用户连接到一个无线网络,但我有麻烦获得一个网络连接 我目前的代码是:连接到android中的wifi网络,如果密码不正确,请返回,android,wifi,connect,Android,Wifi,Connect,我想做一个应用程序,让用户连接到一个无线网络,但我有麻烦获得一个网络连接 我目前的代码是: WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE); wifi.setWifiEnabled(true); WifiConfiguration wc = new WifiConfiguration(); wifi.startScan(); List<ScanResult> l=w
WifiManager wifi = (WifiManager) getSystemService(WIFI_SERVICE);
wifi.setWifiEnabled(true);
WifiConfiguration wc = new WifiConfiguration();
wifi.startScan();
List<ScanResult> l=wifi.getScanResults();
wc.SSID = l.get(NUMBER).SSID;
post(wc.SSID);
/*This is the bit that I think is failing, my network does not have these properties.. but I can't see how to get them from the Scan Result*/
wc.preSharedKey = "\"passw0rd123\"";
wc.hiddenSSID = false;
wc.status = WifiConfiguration.Status.ENABLED;
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
wc.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.WPA_PSK);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
wc.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res = wifi.addNetwork(wc);
post("add Network returned " + res);
boolean b = wifi.enableNetwork(res, true);
post("enableNetwork returned " + b);
WifiManager wifi=(WifiManager)getSystemService(wifi_服务);
wifi.setWifiEnabled(true);
WifiConfiguration wc=新的WifiConfiguration();
wifi.startScan();
列表l=wifi.getScanResults();
wc.SSID=l.get(NUMBER).SSID;
职位(wc.SSID);
/*这是我认为失败的地方,我的网络没有这些属性。。但我看不出如何从扫描结果中得到它们*/
wc.preSharedKey=“\”passw0rd123\”;
wc.hiddenSSID=false;
wc.status=WifiConfiguration.status.ENABLED;
AlloweGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
AlloweGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);
wc.allowedKeyManagement.set(wificonfig.keymanagement.WPA\u PSK);
wc.allowedPairwisecipher.set(WifiConfiguration.Pairwiseciper.TKIP);
wc.allowedPairwisecipher.set(WifiConfiguration.Pairwiseciper.CCMP);
wc.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
int res=wifi.addNetwork(wc);
post(“添加返回的网络”+res);
布尔b=wifi.enableNetwork(res,true);
post(“启用网络返回”+b);
我认为这与设置(在我的评论之后)有关,这些设置与我的网络配置不同,但我不知道如何从ScanResult获取这些设置
编辑:
我还想知道它是否已正确连接。确保您在AndroidManifest.xml文件中设置了正确的权限检查您的设备中是否启用了WIFI,并记住emulator中您无法检查它 如果WIFI在警报中被禁用,你可以像这样显示WIFI设置页面
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if ((wifi.isWifiEnabled() == true)) {
Toast.makeText(RegisterActivity.this,"MOBILE Is Connected TO WI-FI!",
}
else {
AlertDialog.Builder WIFIOFF = new Builder(MyTestglobe.this);
WIFIOFF.setCancelable(false);
WIFIOFF.setTitle("Connection Error");
WIFIOFF.setMessage(" Please Enable Your WIFI/INTERNET !");
WIFIOFF.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
startActivity(new Intent( Settings.ACTION_WIFI_SETTINGS));
}
});
WIFIOFF.show();
}
并在ur Manifest.xml中提供这些权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
我做一个wifimanager.setWifiEnabled(true);我不认为wifi不开通是问题所在(总是这样!),那么你的问题是什么呢?编辑您的问题并附带确切的要求。不正确的问题怎么可能得到正确的答案!我已经进入无线状态,改变无线状态,进入网络状态嘿,老兄,你在那个问题上有什么进展吗?