2012-05-21 6 views
0

Je veux savoir quand un bouton cliquez, il va vérifier la connectivité Internet, si elle est connectée, puis intentera une autre page. Sinon, il va porter un toast un message.Vérifiez la connectivité Internet lorsque vous cliquez sur un bouton

D'une façon ou d'une autre, j'ai vu beaucoup d'exemple de post dans ce forum mais personne n'est pareil que le mien. Quelqu'un peut-il conseiller? Je trouve que beaucoup de post est comme le codage ci-dessus mais ne peut avoir aucune idée de mettre sur mon code ci-dessus.

+0

Quel est le problème auquel vous êtes confronté? –

Répondre

0

Essayez ceci,

 public class MainActivity extends Activity { 

     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      Button b1=(Button)findViewById(R.id.button1); 
      b1.setOnClickListener(new OnClickListener() { 

       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        checkNetworkConnectivity(); 
       } 
      }); 

     } 

     protected void checkNetworkConnectivity() { 
      // TODO Auto-generated method stub 
      ConnectivityManager connMgr = (ConnectivityManager) 
      this.getSystemService(Context.CONNECTIVITY_SERVICE); 

      final android.net.NetworkInfo wifi = 
      connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

      final android.net.NetworkInfo mobile = 
      connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

      if(wifi.isAvailable() || mobile.isAvailable()){ 


Intent gogogo = new Intent(webview.this, viewPage.class); 
      gogogo.putExtra("result", result); 
      startActivity(gogogo); 

      } 

      else{ 
       Toast.makeText(this, "No Network Available" , Toast.LENGTH_LONG).show(); 
      } 
     } 
    } 

Ne pas oublier d'ajouter ces autorisations dans votre fichier manifeste,

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
0
private boolean checkInternetConnection() { 
     ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 

     // test for connection 
     if (cm.getActiveNetworkInfo() != null 
       && cm.getActiveNetworkInfo().isAvailable() 
       && cm.getActiveNetworkInfo().isConnected()) { 
      Intent gogogo = new Intent(webview.this, viewPage.class); 
      startActivity(gogogo); 



     } else { 
      //no conection 
      //toast 

      return false; 
     } 
    } 


try this. 
1

Utilisez ce code pour vérifier si une connexion Internet se trouve ou non :

public boolean isNetworkAvailable() { 
    ConnectivityManager connMgr = (ConnectivityManager) getInstance() 
        .getSystemService(Context.CONNECTIVITY_SERVICE); 

    NetworkInfo wifi = connMgr 
        .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    NetworkInfo mobile = connMgr 
        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

    return (wifi.isConnected() || mobile.isConnected()); 
    } 

Ajoutez à ces missions sur le fichier AndroidManifest,

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
Questions connexes