بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

چک کرن اینترنت

مدیریت گفتگو
گیر کرده 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

من با استفاده از کد زیر ،چک می کنم که آیا اینترنت گوشی وصله یا نه و اگر اینترنت وصل  بود مقدار true رو بر میگردونه.

 public class isNetwork {

public static boolean isNetwork(Context context) {

ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}

}
return false;
}
}

 وقتی اینترنت وصله (وای فای ،3G و . . . ) و اینترنت طرف شارژ داره همه چیز درست کار می کنه.

مشکل اینجا است که مثلا طرف با وای فای وصله به اینترنت ، ولی شارژ اینترنت تمام بشه باز مقدار true رو بر می گردونه.

آیا کسی راه حلی داره؟

نظرات

حامد 11 سال پیش
وقتی شارژ ADSL شما تمام میشود . ارتباط شما با اینترنت قطع نمیشود ، فقط دسترسی شما محدود می شود.
doost_fu 11 سال پیش
فکر کنم این مشکل زمانی هم که گوشی یک وای فای قفل را پیدا کنه و اتصال ایجاد بشه ولی نتونه دیتا انتقال بده پیش میاد !
doost_fu 11 سال پیش
یه جا دیگه هم در مورد این مشکل بحث شده بود فکر کنم یکی از دوستان گفته بود بعد از اینکه ارتباط اینترنت چک کردیم که وصل هست حالا برا اینکه مطمئن بشیم دیتا هم ارسال و دریافت میشه ( یعنی مثلا اینترنت قفل نباشه یا ترافیک طرف تموم نشده باشه ) اینجا باید یه چیزی به یه سرور ارسال کنیم و یه جوابی برگردونیم ! حالا اگه جوابی برگشت مطمئنیم که اینترنت وصله و اجازه میدیم برنامه ادامه بده و ... !!! موفق باشید

پاسخ‌ها 1

پاتریک 11 سال پیش

 public boolean isOnline() {
        ConnectivityManager cm =
                (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
    }
 if (isOnline() == true) {
                        Intent intent = new Intent(splash.this,
                                ActivityStartup.class);
                        startActivity(intent);

                    } else {
                        Intent intent = new Intent(splash.this,
                                awa.class);
                        startActivity(intent);

نظرات

پاتریک 11 سال پیش
من با کد اول دسترسی به اینترنت رو چک میکنم و اگه متصل بود به یه اکتیویتی میره و اگه نبود به یه اکتیویتی دیگه میره

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