1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. määx, 19.01.2010 #1
    määx

    määx Threadstarter Neuer Benutzer

    Hey zusammen,
    habe ein kleines App, dass alle WLANs scannt und diese dann in die Liste Konfigurierter Netzwerke aufnehmen soll. Leider klappt das nicht so ganz:
    Code:
    WifiManager wifi;
    [...]
    wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    [...]
    wifi.startScan();
            try{
                WifiConfiguration wifi_config = new WifiConfiguration();
                List<ScanResult> available_networks = wifi.getScanResults();
                for(ScanResult network : available_networks) {
                    text_networks.append("\n" + network.SSID);
                    wifi_config = new WifiConfiguration();
                    wifi_config.SSID = network.SSID;
                    wifi_config.SSID = network.SSID;
                    wifi_config.BSSID = network.BSSID;
                    wifi_config.hiddenSSID = false;
                    wifi_config.priority = 1000;
                    wifi_config.status = 1; //DISABLED
                    wifi_config.allowedKeyManagement.set(KeyMgmt.NONE);
                    internal_net_id = wifi.addNetwork( wifi_config );
                    text_networks.append(" ID: " + internal_net_id);
                }
            }catch (Exception e){
                System.out.println("ERROR");
            }
    
    Es werden alle Netzwerke aufgelistet, jedoch liefert addNetwork immer -1 zurück! Wenn ich alle Konfigurations-Einstellung auskommentiere liefert addNetwork auch eine ID! Aber das ist ja nicht Sinn der Sache ;)
    Also jemand eine Idee woran das liegen könnte?
    Bin für jede Hilfe dankbar
    Määx
     
  2. garak, 20.01.2010 #2
    garak

    garak Ehrenmitglied

    Da du "wifi_config" außerhalb der Schleife deklarierst, überschreibst du das Objekt mit jedem Schleifendurchgang. Dadurch kann das "addNetwork" nicht funktionieren.

    Versuche doch mal folgendes:
    Code:
    for(ScanResult network : availableNetworks) {
      WifiConfiguration wifiConfig = new WifiConfiguration();
      wifiConfig.SSID = network.SSID;
      ..
      int netId = wifi.addNetwork(wifiConfig);
      textNetworks.append(" ID: ");
      textNetworks.append(netId);
    }
    
    Achja, es ist ziemlich zweckfrei einen StringBuilder mit "append("ID = " + String)" zu füttern, da du damit zwangsläufig noch einen StringBuilder erzeugst, denn Java verwendet nämlich für das zusammenführen von Strings immer einen StringBuilder.

    Gruß
    Chris
     
  3. määx, 21.01.2010 #3
    määx

    määx Threadstarter Neuer Benutzer

    danke, aber das hat leider nicht geholfen!
    Hast du vll noch eine Idee? bin echt verzweifelt...
     
  4. garak, 23.01.2010 #4
    garak

    garak Ehrenmitglied

    So, jetzt habe ich mich mal in WiFi eingelesen.
    Dein Problem besteht darin, dass "wifi.addNetwork( wifi_config );" als ID -1 zurückliefert. Dies lässt darauf schließen, dass die Angaben, die du in "wifi_config" gemacht hast, falsch sind.
    Mein Vorschlag: die Parameter einzeln wegzulassen bzw. abzuändern bis du den Wert gefunden hast, der den Fehler verursacht.

    Gruß
    Chris
     
  5. määx, 23.01.2010 #5
    määx

    määx Threadstarter Neuer Benutzer

    Hey,
    danke für den Tipp! Also es liegt wohl an:
    Code:
    wifi_config.SSID = network.SSID;
    Mit:
    Code:
    wifi_config.SSID = "ab";
    funktioniert das ganze - ersetzte ich "ab" jedoch durch "abc" kommt wieder -1 zurück!

    Irgendwie scheint es so, alsob ich der SSID nur zwei Zeichen übergeben kann!
    Mache ich irgendwas falsch?
    Danke
    Määx
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Fehler beim Download bestimmter Webseiten mit httpGet Android App Entwicklung 19.04.2018
Classen Methoden ,deren Aufruf und meine Anfänger Probleme. HILFE !!! Android App Entwicklung 18.04.2018
Warum Stürtzt meine App ab? (Beim Öffnen von content_3) Android App Entwicklung 27.02.2018
Zweiten Spinner hinzufügen Android App Entwicklung 07.01.2018
Problem beim Geofencing in einer Android App Android App Entwicklung 24.11.2017
[OFFEN] Fehler beim Projekt importieren Android App Entwicklung 03.10.2017
[OFFEN] Widget zeigt keine ImageView an. Android App Entwicklung 18.09.2017
[ERLEDIGT] (Verständnis-)Probleme mit SwipeRefreshLayout Android App Entwicklung 12.08.2017
[ERLEDIGT] Probleme mit Bluetooth / Beam Ordner Android App Entwicklung 25.07.2017
Du betrachtest das Thema "Probleme beim hinzufügen von WLANs" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.