2013-07-20 1 views
1

인터넷 연결을 확인하는 활동 1이 있습니다. 사용자가 인터넷 연결이없는 경우 응용 프로그램에서 무선 설정으로 보냅니다.인터넷 연결 변경 예상

나는 wirelss 설정을 호출 한 activity1로 돌아 왔을 때 사용자가 인터넷 데이터를 활성화했는지 확인하는 방법을 알고 싶습니다.

당신의 도움을 바랍니다. 감사합니다.

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()에 연결을 위해 당신의 activity1에

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

} 
1

체크 onActivityResult를 사용할 수 사용해야합니다. Wi-Fi 또는 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; 
}