Android: Force-Daten werden gesendet über radio vs WiFi
Ist es möglich, zu zwingen, eine Android-Anwendung zu verwenden, nur die Mobilfunkverbindung (3g/4g/etc), das Verbot der Verwendung von Wi-Fi?
Ich denke, dass ich verwenden möchten, HIPRI Verbindung: (ex: WIFI eingeschaltet ist, verwenden Sie HIPRI 3G):
http://groups.google.com/group/android-developers/browse_thread/thread/d41f85505484d29b
InformationsquelleAutor der Frage wuntee | 2011-05-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass Sie können "zwingen" die Verbindung Weg, ohne explizit ausschalten das WLAN-radio vorübergehend (nicht empfohlen). Jedoch, Sie könnten versuchen, Einstellung der Netzwerk Einstellung bei der Zeit, die Sie wollen, dass dies auftreten:
Hoffe, das Hilft!
InformationsquelleAutor der Antwort Devunwired
In Android 2.2, die Sie verwenden können, hohe Priorität mobile Daten gleichzeitig als WLAN. Der Wert der "Funktion" parameter "enableHIPRI", und versteckt sich in der Telefon-API.
Methode:
ConnectivityManager.startUsingNetworkFeature(int networkType, String feature)
http://developer.android.com/reference/android/net/ConnectivityManager.html
Quelle: http://code.google.com/p/android/issues/detail?id=5885
Könnten Sie prüfen, diese andere Antwort: https://stackoverflow.com/a/4756630/327011
Dies ist KEINE gute Politik...es benutzen, wenn WIRKLICH nötig!
InformationsquelleAutor der Antwort neteinstein
ConnectivityManager.setNetworkPreference() ist in der Nähe zu sein, überholt. Was aber noch wichtiger ist, wenn Sie getNetworkPreference() vor der änderung, wird es wieder ConnectivityManager.TYPE_MOBILE. Die Einstellung gibt es nicht einen Unterschied machen. Für HIPRI selbst, es funktioniert in ziemlich seltsamen Modus. Erstens, es ermöglicht eine Verbindung zu allen hosts, nicht nur für die explizit angefordert. Zweitens, wenn Sie schalten Sie es aus mit stopUsingFeature... () - Aufruf, wird es nicht abgeschaltet werden und wird immer noch aktiv. Dritte, alle auf dem Gerät vorhandenen Anwendungen beginnen, es zu verwenden, auch wenn wifi verfügbar ist, das widerspricht dem, was gesagt wird in der Dokumentation.
InformationsquelleAutor der Antwort Cynichniy Bandera
(Ich antwortete auf die gleiche Frage hier)
Können Sie nicht ausdrücklich Kraft der Kommunikationskanal auf einer pro-app Grundlage (Sie können verlangen, dass die Verwendung einer bevorzugten Modus über
ConnectivityManager.setNetworkPreference(...)
aber das ist nicht "zwingen").Obwohl es wahrscheinlich schrecklich UX, Sie kann den Benutzer darüber informieren, dass Ihre app verbietet Verwendung von Wi-Fi, deaktivieren Sie Ihre WiFi-wenn Sie möchten, um fortzufahren. Dies zu tun, müssen Sie die
ACCESS_WIFI_STATE
undCHANGE_WIFI_STATE
Berechtigungen. Der code würde wie folgt Aussehen:InformationsquelleAutor der Antwort Chris Cashwell
Versuchen, dies zu betrachten, es hat eine Menge von Informationen, und vielleicht haben die Lösung, die Sie suchen: Wie verwenden Sie 3G-Verbindung in Android-Anwendung anstelle von Wi-fi?
Es hat funktioniert-Dienst Beispiel, legt die HIPRI mobile Verbindung und hält, dann läuft es. AFAIK ist dies die einzige mehr oder weniger einfache Art und Weise gearbeitet haben wifi und 3g in android. Der einzige Nachteil ist, dass diese Verbindung erlaubt nur die Datenübertragung zum Server, routing wurde ausdrücklich aufgefordert werden. Dies bedeutet im Grunde, dass Sie keine route zu viele Server, da lookup host name ip-Adresse braucht Zeit und tut es für 10 Server dauert 30-60 sec, das macht es langsam anfangen. Sie sollten also genau wissen, welche Server verfügbar sein sollten, über mobile Verbindung.
InformationsquelleAutor der Antwort Cynichniy Bandera