2013-07-20 4 views
1

У меня есть активность1, которая проверяет подключение к Интернету, если у пользователя нет интернет-соединения, приложение отправляет его в Настройки беспроводной сети.Ожидание смены подключения к Интернету

Я хочу знать, как проверить, активировал ли пользователь интернет-данные, когда он возвращается к активности1, которая вызвала настройки wirelss.

Я надеюсь, что ваша ПОМОЩЬ. Спасибо.

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); 

, то вы можете использовать onActivityResult в вашем Activity1

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

} 
1

Проверьте наличие подключения в onStart(). Вы можете определить, активировано ли соединение Wi-Fi или мобильное соединение. Если не начать работу с настройками беспроводной сети, когда вы вернетесь, вы узнаете, активирован ли пользователь.

@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; 
} 
Смежные вопросы