سلام
یه قطعه کدی برای چک کردن اینترنت کانکشن از تو یه وبسایتی گیر آوردم نوشتم که فقط توی اکتیویتی کار میکنه و برای هر قسمت برنامم باید بیخودی این کد رو تکرار کنم
چحوری میتونم اونو بدون اینکه ارور بده توی یه کلاس وارد کنم و همه جای برنامم با فراخوانی ازش استفاده کنم ؟
این کدو الان از اکتیویتی میبرم توی کلاس ارور کانستراکتور میده ولی هرکاری میکنم مشکلش حل نمیشه
لطفا راهنماییم کنین
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
new NetCheck().execute();
}
});
// Setting Negative "NO" Button
alertDialog.setNegativeButton(R.string.no,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Write your code here to invoke NO event
dialog.cancel();
}
});
// Showing Alert Message
alertDialog.show();
}
public class NetCheck extends AsyncTask<String, String, Boolean>
{
private ProgressDialog nDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
nDialog = new ProgressDialog(LeaActivity.this);
nDialog.setTitle("Checking Network");
nDialog.setMessage("Loading..");
nDialog.setIndeterminate(false);
nDialog.setCancelable(true);
nDialog.show();
}
@Override
protected Boolean doInBackground(String... args) {
CoectivityManager cm = (CoectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isCoected()) {
try {
URL url = new URL("http://www.google.com");
HttpURLCoection urlc = (HttpURLCoection) url.openCoection();
urlc.setCoectTimeout(3000);
urlc.coect();
if (urlc.getResponseCode() == 200) {
retu true;
}
}
catch (MalformedURLException e1) {
e1.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
retu false;
}
@Override
protected void onPostExecute(Boolean th) {
if (th == true) {
nDialog.dismiss();
Toast.makeText(getApplicationContext(), "Your device is coected to inteet !", Toast.LENGTH_LONG).show();
// new GetData().execute();
}
else {
nDialog.dismiss();
ShowAlertDialog();
}
}
}
برچسب:
نویسنده: محمد رضا جوادیان