Wie verbinde ich Android-WLAN mit Ad-hoc-WLAN?

Lesezeit: 6 Minuten

Benutzer-Avatar
Kyrill Horad

Ich bin neu auf dem Android-System. Ist das richtig, das Android 2.2.1 WIFI erkennt nur drahtlose Nicht-Ad-hoc-Netzwerke? Ich habe mich gefragt, ob es eine Möglichkeit gibt, mein Android von meinem Laptop aus mit einem Ad-hoc-Netzwerk zu verbinden.

  • Wenn dies nicht mit der Programmierung zusammenhängt, gehört es wahrscheinlich dazu hier

    – Reno

    24. Februar 2011 um 6:20 Uhr

Benutzer-Avatar
Andy

Sie haben Recht, dass dies derzeit in Android nicht nativ unterstützt wird, obwohl Google gesagt hat, dass es kommen wird, seit Android offiziell eingeführt wurde.

Obwohl dies nicht nativ unterstützt wird, unterstützt die Hardware auf jedem bisher veröffentlichten Android-Gerät dies. Es ist nur in der Software deaktiviert, und Sie müssten es aktivieren, um diese Funktionen nutzen zu können.

Es ist jedoch ziemlich einfach, dies zu tun, aber Sie müssen root sein, und die Besonderheiten können zwischen verschiedenen Geräten leicht unterschiedlich sein. Ihre beste Quelle für weitere Informationen dazu sind XDA-Entwickler: http://forum.xda-developers.com/forumdisplay.php?f=564. Die meisten vorhandenen Lösungen basieren auf dem Ersetzen von wpa_supplicant, und dies ist die Methode, die ich nach Möglichkeit auf Ihrem Gerät empfehlen würde. Weitere Einzelheiten finden Sie unter http://szym.net/2010/12/adhoc-wifi-in-android/.

Aktualisieren: Das ist jetzt schon ein paar Jahre her, und wann immer ich eine brauche Ad-hoc-Netzwerk Verbindung auf meinem Telefon verwende ich CyanogenMod. Es gibt Ihnen sowohl programmgesteuerten als auch skriptgesteuerten Zugriff auf diese Funktionen und die Möglichkeit, etwas zu erstellen ad hoc (ibss)-Netzwerke im Menü WLAN-Einstellungen.

Benutzer-Avatar
Silberi

Wenn Sie speziell eine verwenden möchten ad hoc drahtloses Netzwerk, dann scheint Andys Antwort Ihre einzige Option zu sein. Wenn Sie jedoch nur die Internetverbindung Ihres Laptops über Wi-Fi mit allen erforderlichen Mitteln teilen möchten, haben Sie mindestens zwei weitere Optionen:

  1. Verwenden Sie Ihren Laptop als Router, um einen WLAN-Hotspot zu erstellen Virtueller Router oder Verbinden. Eine schöne Anleitung ist zu finden hier.
  2. Verwenden Sie die Wi-Fi Direct Protokoll, das eine direkte Verbindung zwischen allen Geräten herstellt, die es unterstützen, obwohl die Unterstützung bei Android-Geräten begrenzt ist* und bei Windows die Funktion wahrscheinlich nur Windows 8 zu sein scheint.

*Einige Telefone mit Android 2.3 haben proprietäre Betriebssystemerweiterungen, die Wi-Fi Direct ermöglichen (meistens neuere Samsung-Telefone), aber Android 4 sollte dies vollständig unterstützen (Quelle).

  • +1 für VirtualRouter, wirklich nützliches Tool, das auch Open Source ist

    – aL3891

    6. März 2014 um 14:36 ​​Uhr

  • +1 für VirtualRouter. Habe seit Tagen mit diesem Problem zu kämpfen, aber das hat perfekt funktioniert.

    – Aelexe

    20. Mai 2014 um 4:02 Uhr

  • VirtualRouter war eine großartige Lösung. Open Source, nicht werbegesteuert, kein Traffic-Tracking. Es dauerte weniger als 2 Minuten, um mein Problem zu installieren und zu beheben. Diese Antwort mit Sicherheit positiv bewerten.

    – C0M37

    19. September 2016 um 16:30 Uhr

Wenn Sie einen Microsoft Virtual WiFi Miniport Adapter als einen der verfügbaren Netzwerkadapter haben, können Sie Folgendes tun:

  • Führen Sie den Windows-Befehlsprozessor (cmd) als Administrator aus
  • Typ: netsh wlan set hostednetwork mode=allow ssid=NAME key=PASSWORD
  • Dann: netsh wlan start hostednetwork
  • Öffnen Sie „Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen“
  • Klicken Sie mit der rechten Maustaste auf Ihren aktiven Netzwerkadapter (den Sie verwenden, um sich mit dem Internet zu verbinden) und klicken Sie dann auf Eigenschaften
  • Öffnen Sie dann die Registerkarte Freigabe
  • Aktivieren Sie “Anderen Netzwerkbenutzern erlauben, sich zu verbinden…” und wählen Sie Ihren WiFi-Miniport-Adapter aus
  • Wenn Sie fertig sind, geben Sie Folgendes ein: netsh wlan stop hostednetwork

Das ist es!

Quelle: So verbinden Sie ein Android-Telefon ohne Software mit einem Ad-hoc-Netzwerk

Ich habe hier etwas Interessantes bemerkt: In meinem 2.3.4-Telefon kann ich keine AP/AdHoc-SSIDs im Menü Einstellungen > Drahtlos & Netzwerke sehen. Auf einem Acer A500 mit 4.0.3 sehe ich sie mit dem Präfix by

    public class MainActivity extends Activity {

private static final String CHIPKIT_BSSID = "E2:14:9F:18:40:1C";
private static final int CHIPKIT_WIFI_PRIORITY = 1;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Button btnDoSomething = (Button) findViewById(R.id.btnDoSomething);
    final Button btnNewScan = (Button) findViewById(R.id.btnNewScan);
    final TextView textWifiManager = (TextView) findViewById(R.id.WifiManager);
    final TextView textWifiInfo = (TextView) findViewById(R.id.WifiInfo);
    final TextView textIp = (TextView) findViewById(R.id.Ip);

    final WifiManager myWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    final WifiInfo myWifiInfo = myWifiManager.getConnectionInfo();

    WifiConfiguration wifiConfiguration = new WifiConfiguration();
    wifiConfiguration.BSSID = CHIPKIT_BSSID;
    wifiConfiguration.priority = CHIPKIT_WIFI_PRIORITY;
    wifiConfiguration.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
    wifiConfiguration.allowedKeyManagement.set(KeyMgmt.NONE);
    wifiConfiguration.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
    wifiConfiguration.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
    wifiConfiguration.status = WifiConfiguration.Status.ENABLED;

    myWifiManager.setWifiEnabled(true);

    int netID = myWifiManager.addNetwork(wifiConfiguration);

    myWifiManager.enableNetwork(netID, true);

    textWifiInfo.setText("SSID: " + myWifiInfo.getSSID() + '\n' 
            + myWifiManager.getWifiState() + "\n\n");

    btnDoSomething.setOnClickListener(new View.OnClickListener() {          
        public void onClick(View v) {
            clearTextViews(textWifiManager, textIp);                
        }           
    });

    btnNewScan.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            getNewScan(myWifiManager, textWifiManager, textIp);
        }
    });     
}

private void clearTextViews(TextView...tv) {
    for(int i = 0; i<tv.length; i++){
        tv[i].setText("");
    }       
}

public void getNewScan(WifiManager wm, TextView...textViews) {
    wm.startScan();

    List<ScanResult> scanResult = wm.getScanResults();

    String scan = "";

    for (int i = 0; i < scanResult.size(); i++) {
        scan += (scanResult.get(i).toString() + "\n\n");
    }

    textViews[0].setText(scan);
    textViews[1].setText(wm.toString());
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

In dem folgenden Code, den ich angepasst habe (ich kann mich nicht an die Quelle erinnern, tut mir leid!), sehe ich jedoch, dass Ad Hoc im WLAN-Scan auf meinem 2.3.4-Telefon angezeigt wird. Ich versuche immer noch, eine Verbindung herzustellen und einen Socket + Input/OutputStream zu erstellen. Aber los geht’s:[letter O] Vergessen Sie nicht, dass Sie in Eclipse Strg+Umschalt+ verwenden können

um die fehlenden Importe zu ergänzen…

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.digilent.simpleclient"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/title_activity_main" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

und mein Manifest:

Ich hoffe, das hilft!

  • Sie haben Recht, aber beachten Sie, dass Sie es auch umgekehrt machen können – verwenden Sie Android Wifi-Tethering, das das Telefon als Basisstation einrichtet und vom Laptop aus eine Verbindung zu dieser Basisstation herstellt.

    Sie können dies nur auf einigen Telefonen tun (also ohne Root).

    – dreimal gestorben

  • 10. Januar 2012 um 23:26 Uhr

    Kann ich mit dieser Methode das PC-Internet teilen?

    – Imon

  • 1. Juni 2012 um 12:22 Uhr

    @Imon Nein. Es soll die 3G-Verbindung des Telefons mit dem PC teilen.

    – gby

  • 4. Juni 2012 um 5:17 Uhr

    Ich würde denken, dass Sie den IP-Uplink des PCs freigeben können, egal auf welche Weise die WLAN-Verbindung hergestellt wurde. Sie müssen nur das Routing, einschließlich NAPT, direkt auf dem PC einrichten und die IP-Adresse des PCs als Standard-Gateway auf dem Telefon festlegen.

    – Szocske

  • 6. Februar 2013 um 15:06 Uhr

    Sie können dies nur auf einigen Telefonen tun (also ohne Root).

    – dreimal gestorben

  • 10. Januar 2012 um 23:26 Uhr

    Kann ich mit dieser Methode das PC-Internet teilen?

    – Imon

  • 1. Juni 2012 um 12:22 Uhr

    @Imon Nein. Es soll die 3G-Verbindung des Telefons mit dem PC teilen.

    – gby

  • 4. Juni 2012 um 5:17 Uhr

    Ich würde denken, dass Sie den IP-Uplink des PCs freigeben können, egal auf welche Weise die WLAN-Verbindung hergestellt wurde. Sie müssen nur das Routing, einschließlich NAPT, direkt auf dem PC einrichten und die IP-Adresse des PCs als Standard-Gateway auf dem Telefon festlegen.

    – Szocske

1227210cookie-checkWie verbinde ich Android-WLAN mit Ad-hoc-WLAN?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy