Я новичок в разработке приложений для Android. В настоящее время я сделал код подключения Android Wifi, чтобы обеспечить подключение. Приложение показывает доступные подключения, но я не могу подключиться к определенным подключениям Wi-Fi.
Ниже приведено одно соединение, которое я получаю от поиска, и я вижу много таких соединений в помещениях моего университета.
Пример: возможности [WPA2-PSK CCMP][WPS][ESS],уровень:-37,отметка времени freequency 2412: 9103895476
не могли бы вы помочь мне преодолеть эту проблему и правильно подключиться к доступным соединениям. Также я решил реализовать кнопку ВКЛ/ВЫКЛ Wi-Fi и не имел четкого представления об этой реализации.
Ниже мой код Java
TextView mainText;
WifiManager mainWifi;
WifiReceiver receiverWifi;
List<ScanResult> wifiList;
StringBuilder sb = new StringBuilder();
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_wifi_connections);
   mainText = (TextView) findViewById(R.id.mainText);
   // Initiate wifi service manager
   mainWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
   // Check for wifi is disabled
   if (mainWifi.isWifiEnabled() == false)
        {   
            // If wifi disabled then enable it
            Toast.makeText(getApplicationContext(), "wifi is disabled..making it enabled", Toast.LENGTH_LONG).show();
            mainWifi.setWifiEnabled(true);
        } 
   // wifi scaned value broadcast receiver 
   receiverWifi = new WifiReceiver();
   // Register broadcast receiver 
   // Broacast receiver will automatically call when number of wifi connections changed
   registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
   mainWifi.startScan();
   mainText.setText("Starting Scan...");
}
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(0, 0, 0, "Refresh");
    return super.onCreateOptionsMenu(menu);
}
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    mainWifi.startScan();
    mainText.setText("Starting Scan");
    return super.onMenuItemSelected(featureId, item);
}
protected void onPause() {
    unregisterReceiver(receiverWifi);
    super.onPause();
}
protected void onResume() {
    registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
    super.onResume();
}
// Broadcast receiver class called its receive method 
// when number of wifi connections changed
class WifiReceiver extends BroadcastReceiver {
    // This method call when number of wifi connections changed
    public void onReceive(Context c, Intent intent) {
        sb = new StringBuilder();
        wifiList = mainWifi.getScanResults(); 
        sb.append("\n        Number Of Wifi connections :"+wifiList.size()+"\n\n");
        for(int i = 0; i < wifiList.size(); i++){
            sb.append(new Integer(i+1).toString() + ". ");
            sb.append((wifiList.get(i)).toString());
            sb.append("\n\n");
        }
        mainText.setText(sb);  
    }
}
Ниже мой код манифеста
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.androidexample.wificonnections.WifiConnections"
        android:label="@string/app_name" >
        <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.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
 
                                                                     
                                                                    