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

چک کردن دسترسی به اینترنت

مدیریت گفتگو
مسعود رضائی 11 سال پیش
آخرین تغییر: 11 سال پیش

من یه برنامه دارم که می خوام وقتی شروع میشه دسترسی به اینترنت رو چک کنه و پیغام بده که کانکت هست یا نه! با استفاده از کدهای موجود امتحان کردم اما مشکل اینجاست که وقتی دستگاه به مودم متصل است اما به اینترنت دسترسی نداریم (منظورم اینه که مثل اینترنت دانشگاه باید در یک کلاینت، فرد، یوزر پسورد خودش را وارد کند تا به اینترنت متصل شود)، برنامه متوجه نمی شود که به اینترنت دسترسی ندارد و پیغام کانکت بودن می دهد. لطفا برای رفع مشکل راهنمایی کنید.

نظرات

hamed 11 سال پیش
قبلا در این مورد جواب داده شده می توانید در انجمن جستجو کنید.از جستجو در گوگل هم غافل نشوید. معمولا برای این کار یک آدرس ثابت مثل گوگل را چک می کنند تا از وجود اینترنت مطمئن بشن. البته در تمامی موارد جوابگو نیست ولی یکی از بهترین روش هاست.
مسعود رضائی 11 سال پیش
ممنون، من این کار روکردم ولی جواب نداد. اگه راه حل دیگه ای هست بفرمایید.
احسان منصوری 11 سال پیش
آقای masoud.rezaei، همه ی کدهایی که من دیدم واسه چک کردن اینترنت، جواب نمیدن. یعنی این کدها واسه چک کردن دسترسی به network هستن نه اینترنت. تنها روشی که من تست کردم، روش آقا حامد هست. ولی فقط سایت های خاص و نه هر سایتی. مثلا شما میتونید آدرس سرور خودتون رو چک کنید. در هر صورت شما باید واسه قسمت های بعدی، به سرورتون متصل بشید

پاسخ‌ها 1

پاشا 11 سال پیش

استفاده از اینترنت کاربر بدون اطلاع رسانی یا گرفتن اجازه کار ناشیانه ایه و باعث صلب اعتماد کاربر نسبت به برنامه میشه!

می تونی از این تابع استفاده کنی، دسترسی android.permission.ACCESS_NETWORK_STATE رو هم فراموش نکن.

 	// android.permission.ACCESS_NETWORK_STATE permission required.
public static final boolean isNetworkAvailable(final Context ACTIVITY_CONTEXT)
{
final ConnectivityManager _OBJ_CM = (ConnectivityManager) ACTIVITY_CONTEXT.getSystemService("connectivity");

if (_OBJ_CM != null)
{
final NetworkInfo _ARY_NI = _OBJ_CM.getActiveNetworkInfo();
if (_ARY_NI != null)
{
if ((((WifiManager) ACTIVITY_CONTEXT.getSystemService("wifi")).getWifiState() == WifiManager.WIFI_STATE_ENABLED) || ((_ARY_NI.getType() == ConnectivityManager.TYPE_WIFI) || (_ARY_NI.getType() == ConnectivityManager.TYPE_MOBILE)) && _ARY_NI.isConnected()) return true;
}
}

return false;
}

نظرات

احسان منصوری 11 سال پیش
جناب پاشا منظورتون از ناشیانه چیه؟ چه راه حلی دارین واسه چک کردن وصل بودن اینترنت؟ شما اگه اینترنت رو از مودم قطع کنید ولی WiFi گوشیتون روشن باشه، باز هم میگه اینترنت وصله. تنها روشی که من دیدم و جواب داده تقریبا، پینگ کردن به یه سایت هست. اگه status code گرفتی، اینترنت وصله و اگه نگرفتی، یعنی مشکل از وصل بودن اینترنت هست. که در این حالت باید بری تو قسمت آفلاین برنامه مثلا
پاشا 11 سال پیش
""" اگه اینترنت رو از مودم قطع کنید ولی WiFi گوشیتون روشن باشه، باز هم میگه اینترنت وصله. """ این تابع من رو میگید؟

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