Mit der Connectivity Manager-Klasse können wir entweder auf WLAN oder das Internet zugreifen:
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
// ARE WE CONNECTED TO THE NET
if ( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED ) {
// ...
}
wo 0
und 1
bezieht sich jeweils auf mobile und WiFi-Verbindung
Wenn mein Android-Gerät mit beiden verbunden ist, können wir dann zwischen den Netzwerken wechseln oder die Netzwerke deaktivieren? Wie mit einer Funktion:
connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED);
Antworten:
Ich weiß, wie man WLAN aktiviert oder deaktiviert:
wo Status sein kann
true
oderfalse
gemäß Anforderung.Bearbeiten:
Sie benötigen außerdem die folgenden Berechtigungen in Ihrer Manifestdatei:
quelle
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
“<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />”
wird auch benötigt.So aktivieren Sie WLAN:
So deaktivieren Sie WLAN:
Hinweis: Um mit dem WLAN-Status zugreifen zu können, müssen Sie der Datei AndroidManifest.xml die folgenden Berechtigungen hinzufügen:
quelle
Eine Komplettlösung:
Referenz: http://amitkumar-android.blogspot.com/p/installation-steps.html
quelle
Um die Deaktivierung von Wifi zu aktivieren, verwenden Sie die
WifiManager
Klasse, um Systemdienste (Android-Geräte) für Wifi abzurufen:Jetzt wird das Objekt
wifi
derWifiManager
Klasse verwendet, um den WLAN-Status abzurufen:Und vergessen Sie vor allem nicht, die folgende Berechtigung in Ihrer Android-Manifestdatei anzugeben:
Um detaillierte Informationen und den vollständigen Beispielcode des Projekts zum Aktivieren / Deaktivieren von Wifi auf Android zu erhalten, besuchen Sie meinen Website-Link .
quelle
In Android Q (Android 10) können Sie WLAN nicht mehr programmgesteuert aktivieren / deaktivieren. Verwenden Sie das Einstellungsfeld, um die WLAN-Verbindung umzuschalten:
quelle
Fügen Sie diese Berechtigung in Ihr Manifest ein und verwenden Sie dann den obigen Code, um den WLAN-Status zu ändern:
quelle
Ich konnte nicht direkt auf das Kontextobjekt zugreifen.
Meine Lösung lautet wie folgt:
Außerdem musste ich einige Schriften ändern, z. WIFI_SERVICE vs. WifiService.
quelle
Es ist möglich, WLAN auf Geräten vor Android 10 mit dem folgenden Code zu aktivieren / deaktivieren :
wifiManager.setWifiEnabled (Status);
Aber zur Kenntnis , dass es nicht möglich ist , dies zu tun mehr auf Android 10 und wahrscheinlich auch gehen voran.
https://issuetracker.google.com/issues/141011684
quelle
Android 10 (Q) ab WLAN kann nicht aktiviert / deaktiviert werden. Sie müssen die Einstellungsabsicht öffnen.
Im Manifest,
quelle
Diese Methode ist ab sofort ab Android Q veraltet.
Versuchen Sie dies wird wirklich helfen.
quelle