2013-07-20 59 views
1

我有一個activity1檢查互聯網連接,如果用戶沒有互聯網連接,應用程序將他發送到無線設置。期待更改互聯網連接

我想知道如何檢查用戶是否激活了互聯網數據,當他回到活動1稱爲無線設置。

我希望你的幫助。 謝謝。

public void myThread(){ 
    Thread th=new Thread(){ 

     @Override 
     public void run(){ 
      splash_screen.this.runOnUiThread(new Runnable() { 

       public void run() {     
        dialog.conectarRed().show(); 
       } 
      }); 
     } 
    }; 

    th.start();  
    } 

} 

public Dialog conectarRed() { 
    AlertDialog.Builder builder = new AlertDialog.Builder(context); 
     return builder 
      .setTitle("No hay Conexi�n a Internet") 
      .setMessage("� Desea activar la Conexi�n de Datos ?")       
      .setCancelable(false) 
      .setPositiveButton("Aceptar", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          Intent i = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 

          ((Activity) context).startActivity(i); 

          dialog.cancel(); 
         } 
        }) 
      .setNegativeButton("Cancelar", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int id) { 
          ((Activity) context).finish(); 

          dialog.cancel(); 
         } 
        }).create(); 
} 

回答

0

你應該使用這個

((Activity) context).startActivityForResult(i, 0); 

那麼您可以在onStart()在活動1

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    //Check result 

} 
1

檢查使用onActivityResult進行連接。您可以確定您是否有wifi或moble連接活動。如果不啓動無線設置活動,則當您返回時,您會發現用戶是否已啓動。

@Override 
protected void onStart() { 
    super.onStart(); 
    if (!CheckConnectivity()){ 
     Toast.makeText(this, R.string.toast_enable_connectivity,Toast.LENGTH_SHORT).show(); 
     Handler launchHandler = new Handler(); 
     Log.d(TAG,"launching EnableConnectivity()"); 
     launchHandler.postDelayed(new Runnable() { 
      public void run() { 
       Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); 
       startActivity(intent); 
      } 
     }, 2000);   
    } 
} 


private boolean CheckConnectivity(){ 
    NetworkInfo networkInfo; 
    ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    boolean connectivityAvailable = false; 

    if (connManager == null){ 
     Toast.makeText(this, R.string.toast_conn_no_service ,Toast.LENGTH_SHORT).show(); 
    } else { 
     networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
     connectivityAvailable |= networkInfo.isConnected(); 
     networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
     connectivityAvailable |= networkInfo.isConnected(); 
    } 

    return connectivityAvailable; 
}