آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

بررسی اتصال به اینترنت

125847  9 سال پیش  9 سال پیش
0 0

سلام دوستان . 

یه کدی میخواستم که زمانی که اتصال به اینترنت برقرار نبود پیغام بده . البته کد زیر برای زمانیکه وای فای یا داده خاموش باشند جواب میدن ولی زمانی که اینترنت وجود نداشته باشه مثلا تموم شده باشه و وای فای وصل باشه نشون نمیده .

چه باید کرد؟

 
ConnectivityManager cm = (ConnectivityManager) getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
return false;
} else {
return true;
}

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
Reza  9 سال پیش
+2 0

سلام

این کد شما فقط برای اینه که ببینی Wifi یا Gprs روشن هست یا نه . باید زمانی که یکی از اینا روشنه اتصال رو هم چک کرد :

 

در کلاسی که میخواین اتصال به اینترنت رو چک کنین ، متد  check_Network  و کلاس  NetCheck  و فیلد errorMessage رو اضافه کنید :

 
private String errorMessage;

private void check_Network() {
       new NetCheck().execute();
 }

private class NetCheck extends AsyncTask<String, String, Boolean> {

        @Override
        protected Boolean doInBackground(String... args) {

            ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo = cm.getActiveNetworkInfo();

if (networkInfo == null) {
            errorMessage = "Connect to a Network";
            return false;
        }

            if (networkInfo.isConnected()) {

                try {
                    URL url = new URL("http://www.google.com");
                    HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
                    urlc.setConnectTimeout(3000);
                    urlc.connect();

                    errorMessage = urlc.getResponseCode() == 200 ? "Successful Connection": "Internet Error";
                    return urlc.getResponseCode() == 200;
                }
                catch (SocketTimeoutException e) {
                    errorMessage = "Connection Error";
                    return false;
                }
                catch (MalformedURLException e) {
                    errorMessage = "Connection Error";
                    return false;
                }
                catch (IOException e) {
                    errorMessage = "Connection Error";
                    return false;
                }
            }

            errorMessage = "Network Disabled";
            return false;
        }

        //-------------------------------------------------
        @Override
        protected void onPostExecute(Boolean isConnected) {

            if ( !isConnected) { // code if not connected

            AlertDialog.Builder builder = new AlertDialog.Builder(G.activity);
            builder.setMessage(errorMessage);
            builder.setCancelable(false);

            builder.setPositiveButton("Try Again", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
check_Network();
                }
            });

            AlertDialog alertDialog = builder.create();
            alertDialog.show();
        } else { // code if connected
            Toast.makeText(G.context, errorMessage, 3000).show();
        }
        }
 }

 

حالا هر جا خواستی اینترنت رو چک کنی ، کافیه متد  check_Network  رو صدا بزنی .

0 0
این رو اضافه می کنم بعضی موقع که اینترنت وصل هستش هم پیغام میاد. مشکل از کجاس؟ این پیغام میاد errorMessage = "Connection Error"; (9 سال پیش)
پاسخ به سوال 
125847  9 سال پیش
0 0

مشکل از کجاس که دائم  در زمان اتصال به اینترنت ؟


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .