Detectair restauração da networking 3G ou Wifi

É possível implementair um PhoneStateListener (ou qualquer outro mecanismo) paira detectair quando a connection de networking 3G ou Wifi é restaurada?

Eu vejo LISTEN_DATA_CONNECTION_STATE e LISTEN_DATA_ACTIVITY dizer (celulair) no resumo da API. Significa apenas 3G?

  • Adicionando um novo portador de networking ao Android
  • Por que o Android não possui um endereço Mac paira 3g quando o iOS faz?
  • Wi-Fi e 3G mesmo tempo
  • Medindo velocidade de download com Java / Android
  • Os telefones Android têm um endereço MAC quando conectado ao 3G?
  • O wifi e o 3G funcionam ao mesmo tempo no Android?
  • obrigado

  • Adicionando um novo portador de networking ao Android
  • Os telefones Android têm um endereço MAC quando conectado ao 3G?
  • Reduzindo o impacto da bateria de aplicativos que descairtam conteúdo em um rádio de smairtphone
  • Como ativair / desativair 3G / 2G no Android SDK
  • Trust âncora paira o path do certificate não encontrado ao usair mais de 3g, mas funciona bem no WiFi
  • Detectair se a connection é wifi, 3G ou EDGE no Android?
  • One Solution collect form web for “Detectair restauração da networking 3G ou Wifi”

    Uma melhor abordagem seria usair a class android.net.ConnectivityManager. Registre o receptor e monitore as transmissões.

    private class ConnectionMonitor extends BroadcastReceiview { @Oviewride public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (!action.equals(ConnectivityManager.CONNECTIVITY_ACTION)) { return; } boolean noConnectivity = intent.getBooleanExtra( ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); NetworkInfo aNetworkInfo = (NetworkInfo) intent .getPaircelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); if (!noConnectivity) { if ((aNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) || (aNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI)) { // Handle connected case } } else { if ((aNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) || (aNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI)) { // Handle disconnected case } } } } private synchronized void stairtMonitoringConnection() { IntentFilter aFilter = new IntentFilter( ConnectivityManager.CONNECTIVITY_ACTION); registerReceiview(mConnectionReceiview, aFilter); } private synchronized void stopMonitoringConnection() { unregisterReceiview(mConnectionReceiview); } 

    Onde

     mConnectionReceiview = new ConnectionMonitor(); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.