سلام
من می خوام به یه دستگاه وای فای وصل بشم ولی نمی دونم چرا نمی تونم جواب بگیرم
بدون هیچ مشکلی اجرا می شه و پیام in رو نمایش می ده ولی saved رو نه
ListView wifilist;
ListView iplist;
WifiManager wifimanager;
String wifi_spots[];
//WifiScanner wifiScanner;
int size=0;
List<ScanResult> results;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wifilist =(ListView)findViewById(R.id.listview);
iplist=(ListView)findViewById(R.id.listview2);
wifimanager = (WifiManager)getSystemService(Context.WIFI_SERVICE );
if(wifimanager.isWifiEnabled()==false)
wifimanager.setWifiEnabled(true);
wifimanager.startScan();
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
results = wifimanager.getScanResults();
size = results.size();
}
},new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_AC TION));
Button bu=(Button)findViewById(R.id.butt);
bu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(results!=null)
Connect("I37D0-W-Ronix3-PC","84273333");
else
{
AlertDialog a = new AlertDialog.Builder(MainActivity.this).create();
a.setMessage("is null");
a.show();
}
}
});
Button get=(Button)findViewById(R.id.butt1);
get.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
WifiConfiguration c=new WifiConfiguration();
AlertDialog ad=new AlertDialog.Builder(MainActivity.this).create();
ad.setMessage(wifimanager.getConfiguredNetworks()+ "");
ad.show();
}
});
// wifiScanner=new WifiScanner();
wifilist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, final View view, final int position, final long id) {
String netpass = "84273333";
}
});
}
public String getScanResultSecurity(ScanResult res)
{
final String cap = res.capabilities;
final String[] securityModes = {"WEP","PSK","EAP"};
for(int i=securityModes.length-1; i>=0;i--)
{
if(cap.contains(securityModes[i]))
return securityModes[i];
}
return "OPEN";
}
public void Connect(String SSID,String Pass) {
try {
String ssid = "\"" + SSID + "\"";
String pass = "\"" + Pass + "\"";
for (ScanResult result : results) {
if (result.SSID.equals(SSID)) {
String security = getScanResultSecurity(result);
if (security.equals("PSK")) {
WifiConfiguration con = new WifiConfiguration();
con.SSID = ssid;
AlertDialog a = new AlertDialog.Builder(MainActivity.this).create();
a.setMessage("in");
a.show();
con.preSharedKey = pass;
con.hiddenSSID = true;
con.status = WifiConfiguration.Status.ENABLED;
con.allowedGroupCiphers.set(WifiConfiguration.Grou pCipher.TKIP);
con.allowedGroupCiphers.set(WifiConfiguration.Grou pCipher.CCMP);
con.allowedKeyManagement.set(WifiConfiguration.Key Mgmt.WPA_PSK);
con.allowedPairwiseCiphers.set(WifiConfiguration.P airwiseCipher.TKIP);
con.allowedPairwiseCiphers.set(WifiConfiguration.P airwiseCipher.CCMP);
con.allowedKeyManagement.set(WifiConfiguration.Key Mgmt.NONE);
con.allowedProtocols.set(WifiConfiguration.Protoco l.RSN);
con.allowedProtocols.set(WifiConfiguration.Protoco l.WPA);
int ntid = wifimanager.addNetwork(con);
wifimanager.disconnect();
wifimanager.enableNetwork(ntid,true);
wifimanager.reconnect();
boolean b = wifimanager.saveConfiguration();
if (ntid != -1 && b) {
AlertDialog a2 = new AlertDialog.Builder(MainActivity.this).create();
a2.setMessage("saved");
a2.show();
}
}
}
}
catch (Exception ex) {
AlertDialog a = new AlertDialog.Builder(MainActivity.this).create();
a.setMessage(ex.getMessage());
a.show();
}
}