Conéctese con wifi particular programáticamente después de buscar las conexiones wifi disponibles

Tengo la lista de lista de redes wifi disponibles ahora quiero conectarme con una red en particular. Por favor, guíame lo que tengo que hacer después de buscar la lista de la red en una vista de lista.

**package com.example.wifilist import java.util.ArrayList; import java.util.HashMap; import java.util.List; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.wifi.ScanResult; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration.KeyMgmt; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; public class MainActivity extends Activity implements OnClickListener { String networkSSID = "test"; String networkPass = "pass"; WifiManager wifi; ListView lv; TextView textstatus; Button buttonscan,buttonConnect; String ITEM_KEY = "key"; ArrayList<String> arralist11=new ArrayList<String>(); ArrayAdapter<String> arrayadapter; List<ScanResult> scanresult; int size=0; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buttonConnect=(Button)findViewById(R.id.btn_connect); lv=(ListView)findViewById(R.id.list); wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE); if(wifi.isWifiEnabled()==false) { Toast.makeText(getApplicationContext(), "Wifi Is Not Enabled",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(), "Wifi Is Enabled",Toast.LENGTH_SHORT).show(); } the networbuttonscan=(Button)findViewById(R.id.btn); buttonscan.setOnClickListener(this); arrayadapter=new ArrayAdapter<String> (MainActivity.this,R.layout.adapter,R.id.listtext,arralist11); lv.setAdapter(arrayadapter); private void ScanningWifiNetwork() { registerReceiver(new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { scan result=wifi.getScanResults(); size=scanresult.size(); }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); } @Override public void onClick(View v) { // TODO Auto-generated method stub arralist11.clear(); wifi.startScan(); Toast.makeText(getApplicationContext(), "Scanning...."+size,Toast.LENGTH_SHORT).show(); try { size=size-1; while(size>=0) { HashMap<String, String> item=new HashMap<String, String>(); item.put(ITEM_KEY, scanresult.get(size).SSID+"\n" +""+scanresult.get(size).capabilities); arralist11.add(scanresult.get(size).SSID+"\n"+scanresult.get(size).capabilities); size--; arrayadapter.notifyDataSetChanged(); } } catch(Exception e) { System.out.println("error in on click view block"+'\n'); e.printStackTrace(); } } 

Prueba esto

  WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); // setup a wifi configuration WifiConfiguration wc = new WifiConfiguration(); wc.SSID = "\"YOUR_SSID\""; wc.preSharedKey = "\"YOUR_PASSWORD\""; 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); // connect to and enable the connection int netId = wifiManager.addNetwork(wc); wifiManager.enableNetwork(netId, true); wifiManager.setWifiEnabled(true); 
  • Exploración de señales wifi sólo en banda 2.4Ghz
  • Establecer IP estática y pasarela programáticamente en Android 6.x (Marshmallow)
  • Android: eliminar la red con ciertos SSID
  • Android WifiManager getScanResult se queja Necesita el permiso ACCESS_COARSE_LOCATION o ACCESS_FINE_LOCATION aunque el permiso declarado
  • Cómo determinar mediante programación si android está conectado a wifi?
  • ¿Hay alguna manera de ser notificado cuando las redes wifi SSIS conocidas entran o salen del rango?
  • Android wifimanager siempre devuelve true
  • Cómo obtener la dirección IP del router wifi conectado en android mediante programación?
  • Determine el ancho de banda de conexión de red (velocidad) wifi y datos móviles
  • Conectar a la red wifi de forma programática (primer acceso ssid)?
  • ¿La cerradura de WiFi no trabaja, cómo prevenir el ahorro de la energía del wifi?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.