USB Reverse Tethering = Das Mobiltelefon erhält eine Netzwerkverbindung vom PC über USB.
Ich weiß, wie man USB-Reverse-Tethering ausführt, mit Ausnahme eines Problems: Viele Android-Apps überprüfen die Netzwerkverbindung anhand des folgenden Codes, bevor sie nützliche Arbeiten ausführen:
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
Das Problem ist, dass der obige Code bei Verwendung von USB-Reverse-Tethering keine Netzwerkverbindung meldet. Es gibt jedoch eine Netzwerkverbindung (das ist das USB-Reverse-Tethering selbst), und Ping, Wget und alle Programme, die diese dumme Prüfung nicht durchführen, funktionieren gut.
Die Frage ist also: Wie kann ich das System hacken, um diese Netzwerkverbindung auf Erfolg prüfen zu lassen (damit ich diese Apps zum Narren halten kann)?
Übrigens. Ich verwende Cyanogenmod 7. Und jede Lösung, die für dieses MOD spezifisch ist, ist auch willkommen.
quelle
Antworten:
Ich sehe, dass dies eine ziemlich alte Frage ist, aber für den Fall, dass jemand gegoogelt hat und hierher gekommen ist. Es gibt ein ziemlich neues Modul namens FakeWifiConnection, das auf dem Xposed-Framework basiert. Die Installation und Verwendung sollte recht einfach sein.
quelle
Ich würde sagen, dass es nur Mod-spezifische Lösungen gibt. Nahezu jede App, die ich kenne, verwendet diese Android-API und daher den Code, der in Ihren Fragen abgefragt wurde, für Netzwerkkonnektivitätsprüfungen.
Man müsste die Cyanogen-Quelle ändern, damit das Betriebssystem (Android + Cyanogen) die USB-Reverse-Tethering-Netzwerkkonnektivität erkennt und die richtigen Informationen an die App zurückgibt, die den aktuellen Netzwerkstatus anfordert. Ich glaube nicht, dass dies mit einer künstlichen Schicht zwischen der API und der App getan werden kann, die die App in diese "täuscht". Es ist realistischer, dass Cyanogen die Behandlung von Reverse Tethering durch Nachahmung einer aktiven WiFi-Verbindung implementiert. Sie sollten sie bitten, dieses Thema anzusprechen. Vielleicht hat Android in Zukunft offizielle Unterstützung für Reverse Tethering. :)
quelle