Erkennen USB-tethering auf android
Gibt es eine Möglichkeit zu wissen (pro-grammatisch) in Ihrer Aktivität/Anwendung, die der Benutzer aktiviert USB-tethering auf seinem Handy?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Möglichkeit zu wissen (pro-grammatisch) in Ihrer Aktivität/Anwendung, die der Benutzer aktiviert USB-tethering auf seinem Handy?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suche durch die Einstellungen.System-Dokumentation Punkte, auf die Antwort wird Nein, es ist nicht möglich, dies zu tun.
Link sagte, Dokumentation
können Sie auch reflektion verwenden, um den Zugriff auf die versteckte Funktion für die Einstellung usb-tethering.
Hier ist mein code.
Deaktivierung von usb-tethering, Sie brauchen nur zu ändern die Reflexion der Methode den Namen "getTetherableIfaces" zu "getTetheredIfaces" ändern "tether" auf "untether".
Bitte überprüfen.
Hier ist eine Lösung Hören für tethering Status änderungen :
Zuerst müssen Sie vertraut sein mit BroadcastReceiver.
finden Sie eine Menge von Tutorials (google : how to listen for connectivity änderungen ...)
Um die Tethering-Status aktualisieren, die Sie benötigen, um eine versteckte filter-Aktion von Android (siehe ConnectivityManager)
und in Ihrem BroadcastReceiver-Klasse :
dann registrieren Sie die filter, um Ihre BroadcastReceiver :
auf Ihre onReceive(final Context context,final Intent intent) - Methode, die auf Vorsatz.extras Informationen enthält 3 arrays, gefüllt mit den entsprechenden kabelgebundene Netzwerk-Schnittstelle :
erroredArray /availableArray /activeArray
Es ist ein bisschen tricky, aber man kann die tethering-status-Informationen.
Darüber hinaus können Sie einige der die reflexion auf versteckte Funktion von Android-code :
Suche nach
getTetherableIfaces()
im Connectivity Manager.Hier ist ein link : https://github.com/android/platform_frameworks_base/blob/master/core/java/android/net/ConnectivityManager.java#L1604
EXTRA_ACTIVE_TETHER
Wert ist "tetherArray" anstelle von "activeArray" (abrufen der empfangenen extras innerhalb deronReceive()
desBroadcastReceiver
gibt eine null-Zeichenfolge-array für die "activeArray" - Taste)Diese Arbeit sollte auf allen Handys, bestätigt, dass auf einigen Android-7,6 und 5 Geräte;
Code Beispiel:
Habe ich festgestellt, dass wenn ich die Option für usb0-Netzwerk-Schnittstelle
es hat nur eine ip-Adresse aus, sobald tethering eingerichtet wurde.