Zuhören, WLAN-Status
Möchte ich festlegen, Hörer, hören Sie auf Status der wireless-Verbindung,kann mir jemand helfen mit meinem code
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
...
TelephonyManager wTelephonyManager;
...
wTelephonyManager=(TelephonyManager)getSystemService(Context.WIFI_SERVICE);
wTelephonyManager.listen(new PhoneL(),PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
//hier ist das Ereignis, das ich verwenden, die ich hören will für WLAN ändern, und der obige code ist alles in onCreate{}
class PhoneL extends PhoneStateListener
{
public void onWifiStateChanged(int state, String nesto)
{
mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
//mWifi.isConnectedOrConnecting()
if(mWifi.isConnectedOrConnecting())
{
Toast.makeText(WifiActivity.this,"Ima WIFI",Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(WifiActivity.this,"! NEMA WIFI",Toast.LENGTH_LONG).show();
}
}
}
//Kann bitte jemand mir helfen erstellen eines Listeners, der wird hören, WLAN-Status und überprüfen Sie, ob WLAN verbunden ist oder zu verbinden ist, wenn ich nicht aktivieren möchten, Datenpaket-Verkehr über die 3g/4g
Haben Sie einen Blick auf die [in diesem thread][1]. [1]: stackoverflow.com/questions/3767591/...
InformationsquelleAutor Tony | 2012-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dem android-system fordert zu wechseln
Data Traffic
wennWiFi
ist nicht angeschlossen, aber es ist ein Thema.Wenn Sie das Gerät ausschalten WiFi, wenn Bildschirm ausgeschaltet ist, wird es ständig Wechsel zwischen WiFi-und 3G-Netzwerk-und, wenn Sie ausgewählt haben apps zum senden von Daten im hintergrund zu verwenden, wird die Daten-Verbindung, die ist teurer, wenn Sie nicht über unbegrenzte Daten-plan.
Ein weiteres Problem ist, wenn Sie in einer Gegend mit nicht so stark WiFi-signal, es wird ständig ändern, um den Datenverkehr und Sie haben Probleme mit surfen oder was auch immer.
Drittes Problem ist die Batterie, wie von dem, was ich gehört habe ist es besser(Akku wise) zu verwenden, die WLAN-Verbindung, über die Daten, die mit einem Add-on nicht, schalten Sie WLAN, wenn der Bildschirm ausgeschaltet ist.(auch ich mache das so), weil Sie es aus und wieder auf WiFi teuersten(Batterie) , werden immer Auf. also lassen Sie es, um die android-system.
InformationsquelleAutor denza
Stieß ich auf das problem auch, hier ist, wie ich es gelöst.
In meiner activity onCreate(..) ich habe
und zusätzlich habe ich die member 'mWifiStateChangedReceiver' auf diese Weise
Wie Sie sehen können, wenn ich
WifiManager.WIFI_STATE_ENABLED
ich zusätzlich testen, ob das Netzwerk richtig verbunden sind, weil eine aktivierte WiFi bedeutet nicht, dass es angeschlossen ist. Zumindest war das meine Vermutung, das ist, warum ich warte, bis das Netzwerk richtig angeschlossen ist.Ein CountDownLatch würde Ihnen ein schöner Weg, um auf ein Ereignis warten mit einem timeout.
sorry @Chris, ... aber Sie setzen diese neue IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION)), wenn Sie den listener. Aber innerhalb der Broadcastlistener Sie unterschiedliche Wert : Absicht.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN); ist das richtig?
ich bin immer Sicherheit Ausnahme. Sagt "java.lang.SecurityException: Permission Verleugnung: nicht erlaubt, zu senden broadcast android.net.conn.CONNECTIVITY_CHANGE"
InformationsquelleAutor Chris
Wenn Sie möchten, hören Sie signal-Stärke kann man auch hören:
WifiManager.RSSI_CHANGED_ACTION
InformationsquelleAutor lujop