2016-12-22 3 views
0

インターネット接続が存在しないときにウェブビューを読み込もうとすると、警告ダイアログが表示されます。私はこのクラスをOnCreateの下に置きましたが、私はダイアログが表示されることを幸運に持っていません。すべての提案をいただければ幸いです。ありがとうございました!データ接続が存在しないときのポップアップダイアログ - Android

public void open(View view) { 
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
    alertDialogBuilder.setMessage("No data connection available"); 
    alertDialogBuilder.setPositiveButton("OK", 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface arg0, int arg1) { 
        Toast.makeText(RepActivity.this, "Check connection settings", Toast.LENGTH_LONG).show(); 
       } 
      }); 

    alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      finish(); 
     } 

    }); 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    android.net.NetworkInfo wifi = cm 
      .getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    android.net.NetworkInfo datac = cm 
      .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
    if ((wifi != null & datac != null) 
      && (wifi.isConnected() | datac.isConnected())) { 
     setContentView(R.layout.activity_rep); 
    } else { 
     //no connection 
     AlertDialog.Builder alertDialog = new AlertDialog.Builder(RepActivity.this); 
     alertDialog.show(); 
    } 
} 

答えて

0

Decalare:

private AlertDialog internetDialog; 

、その後(オープンでネットワークの状態を確認してください)

ConnectivityManager connectivityManager = (ConnectivityManager) 
       .getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo activeNetInfo = connectivityManager 
       .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
     NetworkInfo activeWIFIInfo = connectivityManager 
       .getNetworkInfo(connectivityManager.TYPE_WIFI); 

     if (activeWIFIInfo.isConnected() || activeNetInfo.isConnected()) { 
      removeInternetDialog(); 
     } else { 
      showInternetDialog(); 
     } 

はその後

private void showInternetDialog() { 
    AlertDialog.Builder internetBuilder = new AlertDialog.Builder(
      Activity_name.this); 
    internetBuilder.setCancelable(false); 
    LayoutInflater inflater = Activity_name.this.getLayoutInflater(); 
    View dialogView = inflater.inflate(R.layout.dialog_layout, null); 
    internetBuilder.setView(dialogView); 
    TextView title = (TextView) dialogView.findViewById(R.id.tvDialogTitle); 
    TextView message = (TextView) dialogView.findViewById(R.id.tvDialogMessage); 

    title.setText("No internet"); 
    message.setText("You have no active internet connection"); 

    Button btnEnableWifi = (Button) dialogView.findViewById(R.id.btnEnableWifi); 
    Button btnExit = (Button) dialogView.findViewById(R.id.btnExitDialog); 

    btnEnableWifi.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(
        Settings.ACTION_WIFI_SETTINGS)); 
      removeInternetDialog(); 
     } 
    }); 

    btnExit.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      removeInternetDialog(); 
      finish(); 
     } 
    }); 
    internetDialog = internetBuilder.create(); 
    internetDialog.show(); 
} 

private void removeInternetDialog() { 
    if (internetDialog != null && internetDialog.isShowing()) { 
     internetDialog.dismiss(); 
    } 
} 
+0

を使用しませデータ接続]ダイアログボックスは、それが働いていないでした示し?? – rafsanahmad007

関連する問題