1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  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
[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
[ERLEDIGT] Probleme mit AdMob Android App Entwicklung 19.07.2017
[ERLEDIGT] Probleme mit Service unter Android N Android App Entwicklung 16.07.2017
[OFFEN] Probleme in den Speicher schreiben Android App Entwicklung 13.07.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Probleme mit Action Floating Button Android App Entwicklung 27.05.2017
[ERLEDIGT] WebView Probleme Android App Entwicklung 19.05.2017
Du betrachtest das Thema "Probleme beim hinzufügen von WLANs" im Forum "Android App Entwicklung",